Aviso de seguridad: vulnerabilidades críticas de RCE en React Server Components (CVE-2025-55182)
3 de diciembre de 2025
0 minutos de lecturaResumen
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-webpackreact-server-dom-parcelreact-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:
No rechazaba formas de objetos ni referencias inesperadas
Procesaba identificadores proporcionados por atacantes
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.0Las 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:
Usuarios de Canary → Si usas 14.3.0-canary.77 o una versión posterior, vuelve a una versión estable:
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:
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMWEBPACK-14173285
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMTURBOPACK-14173287
https://security.snyk.io/vuln/SNYK-JS-REACTSERVERDOMPARCEL-14173286
Consulta Snyk Vulnerability DB
Datos confiables e información práctica para ayudarte a desarrollar software de forma segura.
