
vulnerabilidad React2Shell (CVE-2025-55182 / CVE-2025-66478)
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, incluyendo 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 Conocidas Explotadas (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 los Componentes del Servidor de React (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 [URL_OBJETIVO] [COMANDO]
# Apuntar a una URL específica
./pwn-nextjs.sh https://app-vulnerable.ejemplo.com "whoami"
root
La vulnerabilidad se origina en paquetes específicos de React, afectando a cualquier framework que los incluya.
| Componente | Versiones Afectadas | Versiones Parcheadas | Notas |
|---|---|---|---|
| Paquetes de 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 | Fuente del fallo ascendente. |
| 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 | Actualizar a versiones que usen paquetes de React parcheados (>19.0.1, 19.1.2, 19.2.1). | Vulnerable si utiliza los paquetes de React afectados. |
No Afectado: 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 manera insegura las propiedades de los objetos 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 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 puede encadenarse para ejecutar código JavaScript arbitrario con privilegios de servidor, lo que conduce a una Ejecución Remota de Código (RCE) completa.
Investigadores de seguridad han observado exploits exitosos que llevan a:
.aws/credentials).El parcheo es obligatorio y la única forma de eliminar completamente la vulnerabilidad. No hay ninguna 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]
# 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 parchea, implemente reglas de Firewall de Aplicaciones Web (WAF) para bloquear intentos de exploit:
AWSManagedRulesKnownBadInputsRuleSet (v1.24+) incluye reglas para este CVE.cve-canary está 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á bajo explotación activa patrocinada 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.