
React2Shell-Schwachstelle (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.
| 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. |
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.