Skip to main content

Aviso de seguridad: vulnerabilidades críticas de RCE en React Server Components (CVE-2025-55182)

Escrito por
blog feature security alert purple

3 de diciembre de 2025

0 minutos de lectura

Resumen

El 3 de diciembre de 2025, divulgaciones coordinadas revelaron que varias versiones de React 19 y Next.js contienen una falla crítica en el protocolo «Flight» de React Server Components (RSC), que permite la ejecución remota de código (RCE) sin autenticación. La vulnerabilidad se origina en la deserialización insegura de datos controlados por atacantes al procesar cargas útiles de RSC en el servidor.
Para explotar la vulnerabilidad solo se necesita una solicitud HTTP diseñada especialmente. El ataque funciona de manera confiable con las configuraciones predeterminadas y afecta no solo a React y Next.js, sino también a cualquier framework o empaquetador que integre la implementación de RSC.
Ya hay parches disponibles y deben aplicarse de inmediato. Los sistemas que ejecutan versiones sin parchear están expuestos a la vulneración total del servidor.

Actualización (5 de dic. de 2025):

Lachlan Davidson, quien reportó originalmente esta vulnerabilidad, publicó sus PoC originales en GitHub.

Descripción general del componente afectado

React Server Components (RSC) y el protocolo «Flight»

React 19 introdujo un mecanismo para dividir la renderización de la interfaz de usuario entre el cliente y el servidor, serializando el estado de los componentes y las llamadas a funciones del servidor mediante un formato de transporte especial conocido como protocolo «Flight».

Los paquetes afectados incluyen:

  • react-server-dom-webpack

  • react-server-dom-parcel

  • react-server-dom-turbopack

Estos paquetes deserializan las cargas útiles de RSC entrantes para dirigir las operaciones del servidor. La vulnerabilidad se debe a que la lógica de deserialización no aplicaba restricciones estructurales ni de tipos de manera adecuada, lo que permitía que las cargas útiles maliciosas alteraran el comportamiento de ejecución.

Por qué la configuración predeterminada estaba expuesta

La mayoría de los frameworks que adoptan RSC, incluido App Router de Next.js, incluyen esta lógica habilitada de forma predeterminada. Esto significa que un proyecto estándar de Next.js creado con create-next-app, compilado e implementado sin modificaciones en el código… era vulnerable con la configuración predeterminada.

Cronología de los eventos conocidos

Fecha

Evento

29 de nov. de 2025

El investigador de seguridad Lachlan Davidson reporta en privado una falla en la forma en que React decodifica las cargas útiles que reciben los endpoints de Server Function e identifica una vía para ejecutar RCE sin autenticación.

30 de nov. de 2025

El equipo de seguridad de Meta valida el reporte y colabora con el grupo de ingeniería de React para diseñar una solución.

1 de dic. de 2025

Se desarrolla un parche; los principales ecosistemas y proveedores de alojamiento comienzan a implementar mitigaciones y validar las actualizaciones.

3 de dic. de 2025

El equipo de Meta/React publica un aviso de seguridad para CVE-2025-55182, que abarca los paquetes de React RSC.

3 de dic. de 2025

Vercel publica un aviso para CVE-2025-66478, que abarca la integración de Next.js de la misma falla subyacente.

3 de dic. de 2025

Se ponen a disposición del público versiones actualizadas de React (19.0.1 / 19.1.2 / 19.2.1) y Next.js (versiones 15.x/16.x corregidas y orientación para volver a una versión anterior para quienes usan Canary).

A partir del 3 de dic. de 2025

El ecosistema sigue con actualizaciones de paquetes (Vite RSC, Parcel RSC, versiones preliminares de React Router, RedwoodSDK, Waku, etc.). La investigación continúa.

4 de dic. de 2025

El identificador CVE-2025-66478 fue rechazado y reemplazado por CVE-2025-55182

Nota: Al momento de la divulgación, no se había confirmado públicamente ninguna explotación real, pero para explotar la vulnerabilidad se requiere muy poca sofisticación.

Componentes afectados

Versiones de React afectadas

  • 19.0.0

  • 19.1.0

  • 19.1.1

  • 19.2.0

Versiones de Next.js afectadas

  • Todas las versiones estables 15.x

  • Todas las versiones estables 16.x

  • Versiones experimentales 14.3.0-canary.77 y posteriores

Es probable que otras herramientas y frameworks también estén afectados porque incluyen RSC:

  • Plugin de Vite RSC

  • Plugin de Parcel RSC

  • Versión preliminar de React Router RSC

  • RedwoodSDK

  • Waku

  • Cualquier paquete que integre los módulos vulnerables react-server-dom-*

Presencia en la nube

Las estimaciones de investigación indican que aproximadamente el 39 % de los entornos en la nube analizados tenían cargas de trabajo que ejecutaban versiones vulnerables de React/Next.js RSC.

Cómo ocurrió el incidente

Vulnerabilidad subyacente: deserialización insegura

En esencia, el motor RSC del lado del servidor acepta una carga útil serializada de «Flight» que describe:

  • Límites entre componentes

  • Referencias a funciones del servidor

  • Flujos de datos

Las implementaciones vulnerables confiaban demasiado en la estructura entrante. Cuando se enviaban cargas útiles malformadas, pero sintácticamente válidas, el servidor:

  1. No rechazaba formas de objetos ni referencias inesperadas

  2. Procesaba identificadores proporcionados por atacantes

  3. Ejecutaba rutas privilegiadas de JavaScript que nunca debían estar disponibles desde el exterior

Esto provoca directamente la ejecución remota de código antes de la autenticación, por lo que la puntuación CVSS es 10.0 (crítica).

Vector de ataque

  • Remoto: no se necesita acceso local ni credenciales

  • Sin autenticación: cualquiera puede intentar explotar la vulnerabilidad

  • Una sola solicitud: basta con una solicitud HTTP diseñada especialmente a un endpoint RSC

  • Alta confiabilidad: las pruebas reportan una confiabilidad cercana al 100 % con las configuraciones predeterminadas

Por qué esto es especialmente peligroso

  • La mayoría de las aplicaciones Next.js con App Router exponen públicamente los endpoints RSC.

  • La RCE ocurre antes de cualquier lógica de enrutamiento o control de autenticación.

  • En las implementaciones en la nube o sin servidor, los endpoints RSC suelen estar en la raíz de las superficies de API.

Recomendaciones de detección y análisis

Para analizadores de código y dependencias

Busca:

  • "react-server-dom-webpack" en las versiones 19.0.0, 19.1.0, 19.1.1 y 19.2.0

  • "react-server-dom-parcel" en las versiones 19.0.0, 19.1.0, 19.1.1 y 19.2.0

  • "react-server-dom-turbopack" en las versiones 19.0.0, 19.1.0, 19.1.1 y 19.2.0

  • Las versiones de Next.js indicadas en la sección de versiones afectadas

Para el monitoreo en tiempo de ejecución y a nivel de red

Marca lo siguiente:

  • Solicitudes a rutas RSC que contengan tramas Flight de RSC malformadas o inesperadas

  • Tokens de alta entropía o anómalos en cargas útiles serializadas de RSC

  • Aumentos repentinos de errores en las invocaciones de funciones del servidor

Para herramientas de postura de seguridad en la nube

Busca cargas de trabajo que implementen:

  • Contenedores creados antes del 3 de diciembre de 2025

  • Imágenes de React 19 o Next.js 15/16 que aún no tengan el parche

  • Cargas de trabajo de acceso público que utilicen App Router o acciones del servidor

Las aplicaciones alojadas en Vercel se benefician del filtrado de solicitudes a nivel de plataforma, pero aun así requieren actualizaciones.

Guía de mitigación

1. Actualiza de inmediato 

React

  • 19.0.0 → 19.0.1

  • 19.1.x → 19.1.2

  • 19.2.0 → 19.2.1

Next.js

Versiones corregidas:

npm install next@15.0.5
npm install next@15.1.9
npm install next@15.2.6
npm install next@15.3.6
npm install next@15.4.8
npm install next@15.5.7
npm install next@16.0.7
  • Usuarios de Canary → Si usas 14.3.0-canary.77 o una versión posterior, vuelve a una versión estable:

npm install next@14

2. Vuelve a compilar las aplicaciones después de actualizar

Asegúrate de que los pipelines de CI/CD vuelvan a compilar las imágenes de Docker o los paquetes sin servidor con el árbol de dependencias corregido.

3. Valida los frameworks de terceros

Si usas Redwood, Waku, versiones preliminares experimentales de RSC o empaquetadores, verifica lo siguiente:

  • Se incluyó una implementación actualizada de RSC

  • No hay archivos de bloqueo desactualizados que fijen versiones vulnerables

4. Habilita controles de defensa en profundidad

  • Aislamiento en tiempo de ejecución para JavaScript del lado del servidor

  • Enrutamiento estricto para endpoints RSC

  • Reglas de firewall de aplicaciones web (WAF) para detectar cargas útiles RSC malformadas

Próximos pasos para la comunidad

Para quienes mantienen ecosistemas dependientes

  • Audita cualquier extensión personalizada de RSC

  • Publica avisos actualizados y compilaciones corregidas

  • Considera reforzar los esquemas de deserialización con validaciones explícitas

Para las organizaciones

  • Haz un inventario de todas las cargas de trabajo que usan React Server Components

  • Prioriza las aplicaciones expuestas a Internet

  • Monitorea la actividad sospechosa previa a la publicación del parche

  • Realiza un análisis forense después de aplicar el parche para asegurarte de que no haya ocurrido ninguna explotación

Conclusión

Este incidente pone de relieve un desafío sistémico de los ecosistemas modernos de JavaScript: los mecanismos de serialización altamente dinámicos pueden convertirse en potentes vectores de RCE si no se validan de manera adecuada. Como React Server Components se están volviendo rápidamente fundamentales en distintos frameworks, el alcance de esta vulnerabilidad es inusualmente amplio.

Aplicar el parche para este incidente es sencillo, pero las demoras aumentan considerablemente el riesgo. Las organizaciones deben actualizar ahora, verificar los frameworks dependientes y seguir monitoreando las novedades a medida que avanza la investigación en el ecosistema.

No demores la corrección. Revisa ahora los avisos de Snyk para confirmar las versiones afectadas y obtener todos los detalles de remediación:

Consulta Snyk Vulnerability DB

Datos confiables e información práctica para ayudarte a desarrollar software de forma segura.