
React Shell & Next.js RSC-Exploit-Tool (CVE-2025-55182)
Standard-Payloads, die Schlüsselwörter wie child_process oder execSync enthalten, werden häufig von Web Application Firewalls (WAFs) blockiert.
NextRCSWaff.py nutzt eine spezialisierte UTF-16LE (Little Endian)-Kodierungs-Engine. Durch die Kodierung der schädlichen Payload in diesem spezifischen Format ändert sich die Bytesequenz vollständig, wodurch sie für die meisten signaturbasierten WAFs unsichtbar wird. Der Next.js- (Node.js-) Server dekodiert den Befehl jedoch korrekt und führt ihn aus.
Proof of Concept: Der obige Screenshot zeigt eine blockierte Standard-Payload (oben), gefolgt von einer erfolgreichen RCE-Ausführung mit NextRCSWaff.py und dem --bypass-Flag (unten).
NextRce ist ein leistungsstarkes, multithreaded Sicherheitstool zur Erkennung und Ausnutzung von CVE-2025-55182. Es zielt speziell auf die React Server Components (RSC)-Implementierung in der App-Router-Architektur von Next.js ab.
Durch die Manipulation des Serialisierungsprozesses in Server Actions injiziert NextRce eine präparierte Payload, um auf verwundbaren Instanzen Remote Code Execution (RCE) zu erreichen. Es verfügt über eine intelligente Erkennungs-Engine, die automatisch zwischen verwundbaren App-Router-Architekturen und sicheren Legacy-Pages-Routern unterscheidet und so die Effizienz bei Massen-Scans gewährleistet.
window.__next_f), um verwundbare App-Router-Ziele von Websites mit Legacy-Pages-Router zu unterscheiden.stdin-Piping. Nahtlose Integration in Reconnaissance-Tools wie subfinder, httpx und gau.ThreadPoolExecutor ermöglicht das gleichzeitige Scannen Tausender Domains mit minimalem Ressourcenaufwand.Der Next.js App Router verwendet ein benutzerdefiniertes Serialisierungsformat für React Server Components (RSC). Die Schwachstelle liegt in der Deserialisierungslogik der Next-Action-Header. Wenn ein speziell präpariertes Objekt (das __proto__ verschmutzt) an einen Server-Action-Endpunkt (z. B. /adfa) gesendet wird, kann der interne Parser dazu gebracht werden, beliebigen Node.js-Code über child_process auszuführen.
X-Powered-By: Next.js-Headern und bestimmten Pfadstrukturen (/_next/) zu suchen.window.__next_f -> Verwundbar (App Router)__NEXT_DATA__ -> Sicher (Pages Router)execSync(cmd) auszuführen. Das stdout wird base64-kodiert und im digest-Feld der Fehlerantwort des Servers zurückgegeben, das NextRce dekodiert und anzeigt.# Clone the repository
git clone [https://github.com/ynsmroztas/NextRce.git](https://github.com/ynsmroztas/NextRce.git)
# Navigate to the directory
cd NextRce
# Install dependencies
pip install requests
💻 Anwendungsbeispiele
python3 NextRCSWaff.py -u https://target.com) -c "whoami" --bypass
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
python3 nextrce.py -l targets.txt -c "whoami" -t 100
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
⚙️ Befehlszeilenoptionen
Flag,Beschreibung,Standard "-u, --url",Einzelne Ziel-URL zum Scannen,None "-l, --list",Dateipfad mit einer Liste von URLs,None "-c, --cmd",Auf dem Server auszuführender Befehl,id "-t, --threads",Anzahl gleichzeitiger Threads,30 "-p, --proxy","HTTP-Proxy-URL (z. B. http://127.0.0.1:8080)",None "-v, --verbose",Ausführliche Ausgabe aktivieren (fehlgeschlagene Versuche anzeigen),False "-B, --bypass",(nur NextRCSWaff.py) UTF-16LE-Kodierung aktivieren, um WAFs zu umgehen,False
⚠️ Haftungsausschluss Dieses Tool wurde ausschließlich für Bildungs- und Sicherheitsforschungszwecke entwickelt. Der Autor (Mitsec) ist nicht verantwortlich für illegale Nutzung, Schäden oder unbefugten Zugriff, die durch dieses Tool verursacht werden. Holen Sie vor der Durchführung von Sicherheitstests immer die ausdrückliche Genehmigung des Systeminhabers ein.
👤 Autor NextRce wird von Mitsec entwickelt und gepflegt.
Twitter/X: @ynsmroztas
GitHub: ynsmroztas