
Isoliertes Docker-Labor und statischer Scanner für CVE-2025-55182, mit anfälligen/gepatchten Next.js-Builds und PoC-Validierung der RSC-Flight-Deserialisierung.
Haftungsausschluss: Dieses Repository und seine PoC-Artefakte dienen ausschließlich Bildungs-, Forschungs- und defensiven Sicherheitsdemonstrationszwecken in einer isolierten Laborumgebung. Nicht autorisierte Tests an externen Systemen sind strengstens untersagt.
Dieses Repository bietet eine reproduzierbare Docker-Umgebung mit zwei Containern, die entwickelt wurde, um die Deserialisierungsschwachstelle im Flight-Protokoll der React Server Components (RSC) (allgemein als React2Shell / CVE-2025-55182 referenziert) zu analysieren, auszunutzen und Maßnahmen dagegen zu validieren. Das Labor demonstriert die Auswirkungen nach der Ausnutzung auf einem ungepatchten Next.js-Build und belegt die Wirksamkeit der Gegenmaßnahmen auf einem gepatchten Build.
http://127.0.0.1:3001 (react2shell-vulnerable-Container)http://127.0.0.1:3002 (react2shell-patched-Container)internal: true).127.0.0.1 (localhost) gebunden, um den Zugriff aus dem externen LAN zu verhindern.DUMMY_SECRET=LAB_VULNERABLE_SECRET_DO_NOT_USE_12345) werden für Exfiltrationstests verwendet, um die Offenlegung sensibler Daten zu vermeiden.24.0.0+, Compose v2.20.0+)3.8+ — Nur Standardbibliothek für die Basisautomatisierung)Klonen Sie das Repository und überprüfen Sie Ihre lokale Umgebung:
git clone https://github.com/PhanHoangKhang/React2Shell.git
Wechseln Sie in das Verzeichnis lab/ und initialisieren Sie beide Dual-Build-Container:
cd lab
docker-compose up -d --build
cd ..
Führen Sie den Erkennungsscanner in beiden Laboren aus:
python src/react2shell_scanner.py lab/patched
python src/react2shell_scanner.py lab/vulnerable
cd lab
docker-compose stop
cd ..
Um die Exploit-Validierungstests auszuführen und Exfiltrations-Artefakte zu verifizieren, lesen Sie bitte die detaillierte Schritt-für-Schritt-PoC-Anleitung:
👉 PoC- & Schwachstellen-Validierungsanleitung ansehen (poc_reference.md)
package-lock.json (v3-Format). Der statische Scanner priorisiert das Parsen des aufgelösten Abhängigkeitsbaums in packages["node_modules/next"], um eine genaue Erkennung zu gewährleisten.< 15.0.3 (einschließlich 15.0.0-rc-Builds) als anfällig für die Deserialisierung des RSC-Flight-Protokolls.| Zielservice | Framework / Paket | Installierte Version | Lockfile-Format |
|---|
Verwundbares Ziel (:3001) | Next.js | 15.0.0-rc.1 | package-lock.json (Lockfile Version 3) |
| React / React-DOM | 19.0.0-rc-65a56d0e-20241020 | NPM Registry Release | |
Gepatchtes Ziel (:3002) | Next.js | 15.0.3 (stabil) | package-lock.json (Lockfile Version 3) |
| React / React-DOM | 19.0.0 (stabil) | NPM Registry Release |