Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-55182-React-Server-Components-Flight-React2Shell- — Aviso y análisis de CVE-2025-55182 (React2Shell), RCE por deserialización de RSC Flight, con desglose de la causa raíz, flujo de ataque, diff del parche y reglas de detección para Sigma/Suricata/WAF. | Kitploit
Herramientas/GitHubGitHub/certbn/cve-2025-55182-react-server-components-flight-react2shell-
Gestión de Indicadores de Compromiso (IOC)Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebInteligencia de AmenazasPapers e InvestigaciónRespuesta a Incidentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubcertbn/cve-2025-55182-react-server-components-flight-react2shell-

CVE-2025-55182-React-Server-Components-Flight-React2Shell-

Aviso y análisis de CVE-2025-55182 (React2Shell), RCE por deserialización de RSC Flight, con desglose de la causa raíz, flujo de ataque, diff del parche y reglas de detección para Sigma/Suricata/WAF.

Ver Repositorio
1hace 2 díasAún no revisado
Compartir

CVE-2025-55182: Ejecución remota de código mediante deserialización en el protocolo Flight de React Server Components (React2Shell)

CVSS Type KEV Ransomware

Fecha de última verificación: 2026-11-04 (KST). Cada cifra se ha consignado únicamente con el valor confirmado en las fuentes de la sección References inferior, y cuando los valores difieren entre fuentes se han indicado todos.

📌 TL;DR

  • Qué: En el proceso de deserialización del protocolo Flight de React Server Components (RSC) no se valida el nombre de propiedad de la ruta de referencia, por lo que un atacante puede recorrer la cadena de prototipos (prototype chain) hasta alcanzar el constructor Function y ejecutar JavaScript arbitrario.
  • Dónde: react-server-dom-webpack / -parcel / -turbopack 19.0.0, 19.1.0, 19.1.1, 19.2.0 y los frameworks que los utilizan — representativamente Next.js 15.x / 16.x App Router. Aunque no se definan Server Functions directamente, basta con que se soporte RSC para verse afectado.
  • Cuán peligroso es: RCE con una sola solicitud HTTP sin autenticación (CVSS 10.0). Pocas horas después de su publicación, un grupo vinculado a China comenzó a explotarlo, y se encuentra en estado incluido en CISA KEV y de explotación por ransomware "Known".

📋 Información básica

ElementoContenido
ID de CVECVE-2025-55182 (React) / CVE-2025-66478 para Next.js fue rechazado por duplicado (Rejected)
AliasReact2Shell
Fecha de divulgación2025-12-03 (aviso del equipo de React, parche publicado el mismo día)
DescubridorLachlan Davidson (reportado el 2025-11-29 mediante Meta Bug Bounty)
Productos/versiones afectadosreact-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack 19.0.0, 19.1.0, 19.1.1, 19.2.0 / Next.js 14.3.0-canary.77 y posteriores canary, 15.x, 16.x (App Router)
Versiones parcheadasCorrección de RCE: React 19.0.1 / 19.1.2 / 19.2.1, Next.js 15.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7 / 16.0.7
Versión final recomendada (incluye vulnerabilidades posteriores): React 19.0.3 / 19.1.4 / 19.2.3 (véase "Vulnerabilidades posteriores" más abajo)
CVSS v3.110.0 Crítico — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0No confirmado en fuentes primarias en el momento de redacción de este documento
CWECWE-502 Deserialization of Untrusted Data (Vercel GHSA-9qr9-h5gf-34mp, GitLab Advisory DB). La entrada de CISA KEV no indica CWE
Explotación realExplotación confirmada. Incluido en CISA KEV el 2025-12-05, plazo de actuación para agencias federales el 2025-12-12, uso en campañas de ransomware: Known. AWS observó intentos de explotación en cuestión de horas tras la divulgación

Detalle del alcance de impacto

ComponenteVersiones afectadasVersión corregida
react-server-dom-webpack / -parcel / -turbopack19.0.019.0.1 (recomendado 19.0.3)
〃19.1.0, 19.1.119.1.2 (recomendado 19.1.4)
〃19.2.019.2.1 (recomendado 19.2.3)
Next.js 15.x (App Router)Anterior al parche 15.0 ~ 15.515.0.5 / 15.1.9 / 15.2.6 / 15.3.6 / 15.4.8 / 15.5.7
Next.js 16.x (App Router)Inferior a 16.0.716.0.7
Next.js canary14.3.0-canary.77 o superior15.6.0-canary.58 / 16.1.0-canary.12 (los usuarios de 14.3 canary deben degradar a 14.x stable)
Otras herramientas de integración RSCReact Router (unstable RSC API), Waku, plugin RSC de Parcel, plugin RSC de Vite (@vitejs/plugin-rsc), RedwoodSDK, Expo, etc.La versión más reciente de cada herramienta + react-server-dom-* parcheado

No afectados: aplicaciones React puramente de cliente que no usan servidor, Next.js 13.x / 14.x stable, aplicaciones con Pages Router, despliegues en Edge Runtime.

Vulnerabilidades posteriores (precaución al determinar la versión parcheada)

Tras el parche de React2Shell, investigaciones adicionales sobre RSC revelaron de forma consecutiva vulnerabilidades que no son RCE. El RCE en sí se corrigió en 19.0.1 / 19.1.2 / 19.2.1, pero para bloquear también las vulnerabilidades siguientes se requiere la versión más reciente.

CVETipoCVSS v3.1PublicadoVersión corregida
CVE-2025-55184Denegación de servicio (DoS)7.52025-12-1119.0.2 / 19.1.3 / 19.2.2 (incompleto)
CVE-2025-55183Exposición de código fuente5.32025-12-1119.0.2 / 19.1.3 / 19.2.2
CVE-2025-67779DoS debido al parche incompleto de CVE-2025-551847.52025-12-1219.0.3 / 19.1.4 / 19.2.3

Algunos artículos de proveedores de seguridad (por ejemplo, la actualización de Zscaler) afirman que "el parche original de CVE-2025-55182 era incompleto". Sin embargo, según los avisos de React y GitLab, lo que era incompleto era la corrección del DoS (CVE-2025-55184), y no se ha podido confirmar ninguna fuente primaria que indique que la corrección del RCE fue eludida. En cualquier caso, la acción recomendada es actualizar a 19.0.3 / 19.1.4 / 19.2.3 o superior.

Fechas clave

FechaEvento
2025-11-29Lachlan Davidson lo reporta a través de Meta Bug Bounty
2025-11-30Los investigadores de seguridad de Meta lo confirman e inician la corrección con el equipo de React
2025-12-03Se publican el aviso y el parche de React (19.0.1 / 19.1.2 / 19.2.1) y el aviso de Next.js (CVE-2025-66478). Los proveedores de nube y WAF, tras recibir información previa, despliegan reglas de protección
2025-12-03 ~ 04AWS observa intentos de explotación por parte de grupos vinculados a China (Earth Lamia, Jackpot Panda) en cuestión de horas tras la divulgación. Zscaler observa más de 4.100 intentos de explotación durante las primeras 2 horas
2025-12-05Inclusión en CISA KEV (fecha límite 12-12). Microsoft detecta actividad de explotación real a partir de este día
2025-12-11Se publican las vulnerabilidades posteriores CVE-2025-55184 / 55183
2025-12-12Se publica CVE-2025-67779 (parche incompleto) y se distribuyen 19.0.3 / 19.1.4 / 19.2.3
2025-12-15Microsoft publica el análisis de la actividad posterior a la explotación y una guía de hunting

🔍 Análisis de la causa raíz (Root Cause)

1. Antecedentes: el protocolo Flight y los chunks

RSC intercambia datos entre cliente y servidor mediante un protocolo de serialización propio llamado Flight. Cuando el cliente invoca una Server Function, el navegador envía los argumentos en una solicitud POST multipart/form-data, y cada campo del formulario se convierte en un chunk numerado.

  • El tipo se representa mediante un prefijo de cadena. Por ejemplo: $<id> es una referencia al valor de otro chunk, $@<id> es una referencia al propio objeto chunk, y $B<id> indica el procesamiento de un Blob.
  • Los chunks son objetos thenable que poseen un método then(). Cuando await de JavaScript encuentra un thenable, llama a then(), y si el resultado es a su vez otro thenable, continúa llamándolo de forma recursiva.

2. Qué: recorrido de propiedades sin validación en getOutlinedModel()

getOutlinedModel() del manejador de respuestas Flight del lado del servidor (packages/react-server/src/ReactFlightReplyServer.js) divide las referencias con forma $<id>:<prop1>:<prop2> tomando : como separador y recorre las propiedades del chunk destino en el orden chunk[prop1][prop2].

En este punto, no se validaba si el nombre de la propiedad era una propiedad propia (own property) del objeto. Por lo tanto, era posible acceder a propiedades heredadas con nombres como __proto__, constructor o prototype.

Descargar herramienta