
Prueba de concepto de exploit para CVE-2025-55182 (React2Shell), una RCE crítica de pre-autenticación en React Server Components. Demuestra deserialización insegura en el protocolo Flight para pruebas de seguridad autorizadas y educación.
Una herramienta de prueba de concepto para demostrar la vulnerabilidad crítica React2Shell (CVE-2025-55182 / CVE-2025-66478) únicamente en entornos de prueba locales autorizados.
Esta vulnerabilidad (CVSS 10.0) está siendo explotada activamente por actores de amenazas sofisticados. La inteligencia de amenazas de Amazon informa que múltiples grupos patrocinados por estados vinculados a China, incluyendo Earth Lamia y Jackpot Panda, comenzaron a armamentizar exploits públicos en cuestión de horas tras la divulgación. La Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU. (CISA) la ha añadido a su catálogo de Vulnerabilidades Explotadas Conocidas (KEV).
CVE-2025-55182 (React2Shell) es una vulnerabilidad crítica de Ejecución Remota de Código (RCE) sin autenticación previa en el protocolo "Flight" de React Server Components (RSC). Se asignó un identificador separado, CVE-2025-66478, para Next.js, pero posteriormente fue rechazado como duplicado de CVE-2025-55182, ya que ambos comparten la misma causa raíz.
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Apuntar a una URL específica
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
La vulnerabilidad se origina en paquetes específicos de React, afectando a cualquier framework que los incluya.
No Afectados: Next.js 13.x, versiones estables de Next.js 14.x, aplicaciones Pages Router y Edge Runtime no están afectados.
El protocolo RSC Flight serializa datos para la comunicación cliente-servidor. La vulnerabilidad reside en la lógica de deserialización en el servidor, que expande de forma insegura las propiedades del objeto de la carga útil entrante sin una validación adecuada. Esto permite a un atacante inyectar claves maliciosas (como __proto__ o constructor) en la solicitud, lo que lleva a contaminación de prototipos.
Una vez que la cadena de prototipos está contaminada, el servidor sigue rutas de ejecución influenciadas por el atacante. Esto se puede encadenar para ejecutar código JavaScript arbitrario con privilegios de servidor, lo que lleva a una Ejecución Remota de Código (RCE) completa.
Investigadores de seguridad han observado exploits exitosos que llevan a:
.aws/credentials).El parche es obligatorio y la única forma de eliminar completamente la vulnerabilidad. No existe una opción de configuración para deshabilitar la ruta de código vulnerable.
# Para usuarios de Next.js, actualice a la última versión parcheada en su línea de versión.
# Ejemplo: Si está en Next.js 15.5.x:
npm install [email protected]
# También asegúrese de que las dependencias de React estén actualizadas:
npm install react@latest react-dom@latest
Verifique que sus archivos package-lock.json o yarn.lock reflejen las versiones parcheadas de los paquetes react-server-dom-* (19.0.1, 19.1.2 o 19.2.1).
Mientras se parchea, implemente reglas de Firewall de Aplicaciones Web (WAF) para bloquear intentos de exploit:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) incluye reglas para este CVE.cve-canary disponible.Nota: Las reglas WAF son una mitigación temporal e incompleta. No reemplazan la necesidad de parchear.
Revise los registros en busca de estas señales de intentos de explotación:
next-action o rsc-action-id. Cuerpos de solicitud que contengan patrones como $@ o "status":"resolved_model".whoami, id, uname), lecturas de /etc/passwd, o escrituras de archivos en /tmp/ (por ejemplo, pwned.txt) por procesos de Node.js.Esta herramienta demuestra una vulnerabilidad con una puntuación CVSS de 10.0 (Severidad Máxima) que está siendo explotada activamente por actores patrocinados por estados.
Recuerde: Esta herramienta demuestra por qué el parcheo es urgente. Use este conocimiento para mejorar la seguridad y defender los sistemas, no para comprometerlos. Asegúrese de que todas sus dependencias estén actualizadas a las versiones parcheadas listadas anteriormente.
| Componente | Versiones Afectadas | Versiones Parcheadas | Notas |
|---|
| Paquetes React ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1 | Origen de la falla upstream. |
| Next.js (App Router) | 15.x, 16.x, 14.3.0-canary.77 y posteriores | 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 | Framework principal afectado. |
| Otros Frameworks | React Router, Waku, RedwoodJS, Parcel (@parcel/rsc), Plugin Vite RSC | Actualice a versiones que usen paquetes React parcheados (>19.0.1, 19.1.2, 19.2.1). | Vulnerable si usa los paquetes React afectados. |