
React2Shell vulnerability (CVE-2025-55182 / CVE-2025-66478)
Ein Proof-of-Concept-Tool zur Demonstration der kritischen React2Shell-Sicherheitslücke (CVE-2025-55182 / CVE-2025-66478) ausschließlich in autorisierten, lokalen Testumgebungen.
Diese Sicherheitslücke (CVSS 10.0) wird derzeit aktiv von hochentwickelten Bedrohungsakteuren ausgenutzt. Amazon Threat Intelligence berichtet, dass mehrere staatsnahe Gruppen mit China-Bezug, darunter Earth Lamia und Jackpot Panda, innerhalb weniger Stunden nach der Offenlegung begannen, öffentliche Exploits zu bewaffnen. Die US-amerikanische Cybersecurity and Infrastructure Security Agency (CISA) hat sie in ihren Katalog bekannter ausgenutzter Sicherheitslücken (KEV) aufgenommen.
CVE-2025-55182 (React2Shell) ist eine kritische, vorauthentifizierte Remote-Code-Ausführungs-Sicherheitslücke (RCE) im 'Flight'-Protokoll der React Server Components (RSC). Eine separate Kennung, CVE-2025-66478, wurde für Next.js vergeben, aber inzwischen als Duplikat von CVE-2025-55182 abgelehnt, da beide die gleiche Ursache haben.
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Target specific URL
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
Die Sicherheitslücke hat ihren Ursprung in bestimmten React-Paketen und betrifft jedes Framework, das diese bündelt.
Nicht betroffen: Next.js 13.x, Next.js 14.x stabile Versionen, Pages-Router-Anwendungen und die Edge-Laufzeitumgebung sind nicht betroffen.
Das RSC-Flight-Protokoll serialisiert Daten für die Client-Server-Kommunikation. Die Sicherheitslücke liegt in der Deserialisierungslogik auf dem Server, die eingehende Payload-Objekteigenschaften unsicher erweitert, ohne ausreichende Validierung. Dies ermöglicht einem Angreifer, bösartige Schlüssel (wie __proto__ oder constructor) in die Anfrage einzuschleusen, was zu Prototyp-Pollution führt.
Sobald die Prototyp-Kette verunreinigt ist, folgt der Server vom Angreifer beeinflussten Ausführungspfaden. Dies kann zu einer Kette führen, die die Ausführung beliebigen JavaScript-Codes mit Serverrechten ermöglicht, was zu vollständiger Remote-Code-Ausführung (RCE) führt.
Sicherheitsforscher haben erfolgreiche Exploits beobachtet, die zu Folgendem führen:
.aws/credentials).Patchen ist obligatorisch und der einzige Weg, die Sicherheitslücke vollständig zu beseitigen. Es gibt keine Konfigurationseinstellung, um den anfälligen Codepfad zu deaktivieren.
# For Next.js users, upgrade to the latest patched version in your release line.
# Example: If you are on Next.js 15.5.x:
npm install [email protected]
# Also ensure React dependencies are updated:
npm install react@latest react-dom@latest
Überprüfen Sie, ob Ihre package-lock.json- oder yarn.lock-Dateien die gepatchten react-server-dom-*-Paketversionen (19.0.1, 19.1.2 oder 19.2.1) widerspiegeln.
Während des Patchens setzen Sie Web Application Firewall (WAF)-Regeln ein, um Exploit-Versuche zu blockieren:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) enthält Regeln für diese CVE.cve-canary-Regel ist verfügbar.Hinweis: WAF-Regeln sind eine vorübergehende, unvollständige Minderung. Sie ersetzen nicht die Notwendigkeit eines Patches.
Überprüfen Sie Protokolle auf diese Anzeichen von Exploit-Versuchen:
next-action- oder rsc-action-id-Headern. Anforderungskörper, die Muster wie $@ oder "status":"resolved_model" enthalten.whoami, id, uname), Lesen von /etc/passwd oder Dateischreibvorgänge in /tmp/ (z.B. pwned.txt) durch Node.js-Prozesse.Dieses Tool demonstriert eine Sicherheitslücke mit einem CVSS-Score von 10.0 (Maximale Schwere), die derzeit aktiv von staatlich geförderten Gruppen ausgenutzt wird.
Denken Sie daran: Dieses Tool zeigt, warum Patchen dringend ist. Nutzen Sie dieses Wissen, um die Sicherheit zu verbessern und Systeme zu verteidigen, nicht um sie zu kompromittieren. Stellen Sie sicher, dass alle Ihre Abhängigkeiten auf die oben aufgeführten gepatchten Versionen aktualisiert sind.
| Komponente | Betroffene Versionen | Gepatchte Versionen | Anmerkungen |
|---|
| React-Pakete ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | Quelle des Upstream-Fehlers. |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 and later | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | Primär betroffenes Framework. |
| Andere Frameworks | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Vite RSC Plugin | Update auf Versionen, die gepatchte React-Pakete verwenden (>19.0.1, 19.1.2, 19.2.1). | Anfällig, wenn die betroffenen React-Pakete verwendet werden. |