
React2Shell Scanner (CVE-2025-55182 & CVE-2025-66478)
Ein nicht-intrusives Erkennungstool zur Identifizierung anfälliger React Server Component (RSC)-Implementierungen, die von CVE-2025-55182 (React) und CVE-2025-66478 (Next.js) betroffen sind. Dieses Tool führt eine aktive Erkennung mit harmlosen, nicht schädlichen Payloads durch, um festzustellen, ob ein Server anfällig ist, ohne schädlichen Code auszuführen.
CVE-2025-55182 und CVE-2025-66478 sind kritische nicht authentifizierte Remote-Codeausführungs-Schwachstellen (RCE) im React Server Components "Flight"-Protokoll. Diese Schwachstellen betreffen:
react-server-dom Versionen 19.0.0, 19.1.0, 19.1.1 und 19.2.0Die Schwachstellen beruhen auf unsicherer Deserialisierung in der RSC-Payload-Verarbeitungslogik, die es von Angreifern kontrollierten Daten erlaubt, die serverseitige Ausführung zu beeinflussen. Standardkonfigurationen sind anfällig – eine mit create-next-app erstellte Standard-Next.js-App kann ohne Codeänderungen ausgenutzt werden.
Dieses Tool führt eine aktive Schwachstellenerkennung durch:
Das Tool verwendet drei Erkennungsmethoden:
loadServerReference-CodepfadarrayBuffer-CodepfadWichtig: Dieses Tool führt KEINEN schädlichen Code aus. Es sendet nur sorgfältig konstruierte harmlose Payloads, die dazu bestimmt sind, Fehlerantworten auszulösen, die den Schwachstellenstatus des Servers offenlegen.
python react2shell_scanner.py --target https://example.com
python react2shell_scanner.py --target https://example.com --action-id YOUR_ACTION_ID
python react2shell_scanner.py --target https://example.com --verbose
[+] CVE-2025-55182 and CVE-2025-66478 Vulnerability Checker
[*] Target: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] Test 1: Sending $F (Server Reference) payload...
Status: 500, Evidence: workers
[*] Test 2: Sending $L (Lazy) payload...
Status: 500, Evidence: arraybuffer
[+] Result:
[!] Status: LIKELY VULNERABLE
[!] Confidence: HIGH
[!] Evidence: workers
[!] Details: Server reached loadServerReference (Flight $F deserialization bypass)
[!] RECOMMENDATION: Upgrade to patched version
======================================================================
[+] CVE-2025-55182 and CVE-2025-66478 Vulnerability Checker
[*] Target: https://example.com
[*] Action ID: c67c4e1a40fcc26b5e3c0d5d17f16786f4244989
[*] Test 1: Sending $F (Server Reference) payload...
Status: 500, Evidence: could not find the module
[*] Test 2: Sending $L (Lazy) payload...
Status: 500, Evidence: in the react server manifest
[+] Result:
[+] Status: LIKELY NOT VULNERABLE
[+] Confidence: HIGH
[+] Evidence: could not find the module
[+] Details: Server rejected payload with security error (patched)
======================================================================
Das Tool sucht nach diesen Fehlermustern, die auf eine Schwachstelle hinweisen:
workers – Server hat loadServerReference erreicht (HOHE Vertrauensstufe)arraybuffer – Server hat den $L-Typ-Handler erreicht (HOHE Vertrauensstufe)cannot read properties of null (reading 'id') – Server hat loadServerReference mit null-Metadaten erreicht (HOHE Vertrauensstufe)entries – Server Action hat ein deserialisiertes Objekt anstelle von FormData erhalten (MITTELERE Vertrauensstufe)temporary client reference – Server hat einen $T-Typ-Referenz verarbeitet (MITTELERE Vertrauensstufe)Diese Fehlermuster zeigen an, dass der Server gepatcht ist:
could not find the modulein the react server manifestInvalid server referenceServer reference not foundUnexpected tokenis probably a bug in the react server components bundler| Produkt | Anfällige Versionen | Gepatchte Versionen |
|---|---|---|
react-server-dom | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 |
| Next.js | 14.3.0-canary, 15.x, 16.x (App Router) | 14.3.0-canary.88, 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 |
Andere Frameworks, die RSC verwenden, können ebenfalls betroffen sein:
Sofortiges Handeln erforderlich: Aktualisieren Sie auf gepatchte Versionen:
react-server-dom 19.0.1, 19.1.2 oder 19.2.1react-server-VersionenDieses Tool ist für defensive Sicherheitstests und Schwachstellenbewertungen konzipiert. Es verwendet nur harmlose Payloads, die keinen schädlichen Code ausführen. Beachten Sie jedoch:
Dieses Tool wird "wie besehen" ohne Gewährleistung bereitgestellt. Die Autoren sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden. Stellen Sie sicher, dass Sie vor dem Testen von Systemen die entsprechende Genehmigung haben.
| Argument | Erforderlich | Standardwert | Beschreibung |
|---|
--target | Ja | - | Ziel-URL zur Überprüfung (muss mit http:// oder https:// beginnen) |
--action-id | Nein | c67c4e1a40fcc26b5e3c0d5d17f16786f4244989 | Im Payload zu verwendende Aktions-ID |
--verbose, -v | Nein | False | Ausführliche Ausgabe aktivieren, die Antwortkörper anzeigt |