
Vulnerabilidad React2Shell (CVE-2025-55182 / CVE-2025-66478) Script completo
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. Amazon Threat Intelligence informa que múltiples grupos patrocinados por estados vinculados a China, incluidos Earth Lamia y Jackpot Panda, comenzaron a weaponizar exploits públicos horas después de la divulgación. La Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU. (CISA) la ha agregado 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 en el protocolo "Flight" de React Server Components (RSC). Se asignó un identificador separado, CVE-2025-66478, para Next.js, pero desde entonces se ha 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 del servidor, que expande de forma insegura las propiedades de objeto de la carga útil entrante sin una validación adecuada. Esto permite que un atacante inyecte claves maliciosas (como __proto__ o constructor) en la solicitud, lo que lleva a una 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 del servidor, lo que lleva a una Ejecución Remota de Código (RCE) completa.
Los investigadores de seguridad han observado exploits exitosos que llevan a:
.aws/credentials).Aplicar 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 lanzamiento.
# Ejemplo: Si está en Next.js 15.5.x:
npm install [email protected]
# Asegúrese también de actualizar las dependencias de React:
npm install react@latest react-dom@latest
Verifique que sus archivos package-lock.json o yarn.lock reflejen las versiones parcheadas del paquete react-server-dom-* (19.0.1, 19.1.2 o 19.2.1).
Mientras aplica el parche, implemente reglas de Firewall de Aplicaciones Web (WAF) para bloquear intentos de explotación:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) incluye reglas para este CVE.cve-canary preconfigurada disponible.Nota: Las reglas WAF son una mitigación temporal e incompleta. No reemplazan la necesidad de aplicar el parche.
Revise los registros en busca de estas señales de intentos de explotación:
next-action o rsc-action-id. Cuerpos de solicitud que contienen 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 Node.js.Esta herramienta demuestra una vulnerabilidad con una puntuación CVSS de 10.0 (Severidad Máxima) que está siendo explotada activamente por grupos patrocinados por estados.
Recuerde: Esta herramienta demuestra por qué aplicar el parche 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 indicadas 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), Vite RSC Plugin | Actualice a versiones que usen paquetes React parcheados (>19.0.1, 19.1.2, 19.2.1). | Vulnerable si usa los paquetes React afectados. |