Exploit de prueba de concepto para CVE-2025-55182, un RCE crítico no autenticado en React Server Components. Incluye exploit automatizado en Python, análisis técnico, reglas de detección y configuración de entorno de laboratorio para pruebas de seguridad autorizadas.
Una prueba de concepto integral y recurso educativo para CVE-2025-55182, una vulnerabilidad crítica de ejecución remota de código que afecta a los Componentes del Servidor React con una puntuación CVSS de 10.0.
SOLO CON FINES EDUCATIVOS Y DE PRUEBAS AUTORIZADAS
Esta herramienta se proporciona únicamente con fines educativos y para pruebas de seguridad autorizadas. El acceso no autorizado a sistemas informáticos es ilegal según diversas leyes, incluida la Ley de Fraude y Abuso Informático (CFAA) en los Estados Unidos y legislación similar en todo el mundo.
Debes:
El autor y los colaboradores:
Al usar esta herramienta, reconoces que entiendes y aceptas estos términos.
React2Shell es una vulnerabilidad crítica descubierta en diciembre de 2025 que afecta a los Componentes del Servidor React (RSC) y los frameworks que los implementan, particularmente Next.js. La vulnerabilidad permite la ejecución remota de código no autenticada a través de una única solicitud HTTP manipulada.
Este repositorio contiene:
| Campo | Detalles |
|---|---|
| ID CVE | CVE-2025-55182 |
| Puntuación CVSS | 10.0 (Crítica) |
| Vector de Ataque | Red |
| Complejidad del Ataque | Baja |
| Privilegios Requeridos | Ninguno |
| Interacción del Usuario | Ninguna |
| Impacto | Compromiso completo del sistema (RCE) |
| Fecha de Divulgación | Diciembre 2025 |
create-next-app son explotablesVersiones vulnerables:
react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0Versiones parcheadas:
Versiones vulnerables:
Versiones parcheadas:
La vulnerabilidad existe en la función requireModule dentro de la lógica de deserialización de los Componentes del Servidor React:
function requireModule(metadata) {
var moduleExports = __webpack_require__(metadata[0]);
return moduleExports[metadata[2]]; // LÍNEA VULNERABLE - Recorrido de la cadena de prototipos
}
La falla permite a los atacantes recorrer la cadena de prototipos de JavaScript a través del protocolo React Flight, accediendo al constructor Function mediante propiedades como constructor.constructor, lo que permite la ejecución de código arbitrario.
__proto__ para crear una estructura autorreferencialconstructor.constructor para acceder a Function()child_process.execSync()┌─────────────────────────────────────────────────────────────┐
│ El atacante envía multipart/form-data con cabecera Next-Action │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ El servidor deserializa la carga útil mediante el protocolo React Flight │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Se procesa el objeto chunk falso con contaminación de __proto__ │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ El manejador de Blob invoca _formData.get(_prefix + id) │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Resuelve a Function("código_malicioso") │
└──────────────────────┬──────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Código arbitrario ejecutado con privilegios del proceso Node.js │
└─────────────────────────────────────────────────────────────┘
requests# Clonar el repositorio
git clone https://github.com/tunombredeusuario/react2shell-poc.git
cd react2shell-poc
# Instalar dependencias
pip install -r requirements.txt
# Hacer el script ejecutable (Linux/macOS)
chmod +x react2shell.py
requests>=2.31.0
urllib3>=2.0.0
python3 react2shell.py
╔═══════════════════════════════════════════════════════════╗
║ React2Shell (CVE-2025-55182) PoC ║
║ CVSS 10.0 - RCE Crítica ║
║ ║
║ Afectados: React 19.0.0, 19.1.0, 19.1.1, 19.2.0 ║
║ Next.js ≥14.3.0-canary.77, 15.x, 16.x ║
║ ║
║ Cerberus Secure - Solo para Laboratorio ║
╚═══════════════════════════════════════════════════════════╝