Qué pasó
Los React Server Components permiten que parte de una aplicación se ejecute en el servidor y se comunique con el navegador mediante un protocolo interno. Un fallo al procesar esas peticiones permitía a un atacante ejecutar código en el servidor. Como React es la base de muchos frameworks, el problema apareció también en Next.js, que lo registró con un identificador propio (CVE-2025-66478) que después se marcó como duplicado del de React.
Revisado el 26 de octubre de 2026. Las versiones corregidas cambiaron en varias ocasiones; consulta siempre el aviso oficial de Next.js y la bulletin de Vercel.
A quién afectó
- Aplicaciones que usan los paquetes
react-server-dom-webpack,react-server-dom-parceloreact-server-dom-turbopacken las versiones 19.0, 19.1.0, 19.1.1 y 19.2.0. - Next.js 15 y 16 con App Router. Según el análisis de Zscaler, las versiones estables 13.x y 14.x, las aplicaciones con Pages Router y el Edge Runtime no estaban afectadas.
- Otros frameworks que integran los React Server Components.
- Sitios hechos con WordPress, páginas estáticas o aplicaciones que no usan React en el servidor no se vieron afectados por este fallo en concreto.
No fue el único: los fallos posteriores
En las semanas siguientes aparecieron otras vulnerabilidades en los mismos componentes:
- CVE-2025-55184: denegación de servicio, severidad alta. CVE-2025-55183: exposición de código fuente, severidad media. Según Next.js, ninguna de las dos permite ejecutar código remoto.
- CVE-2025-67779: una corrección inicial fue incompleta para la denegación de servicio; quien actualizó en los primeros días tuvo que volver a actualizar.
La lección es práctica: actualizar una vez no basta. Un sitio con App Router debe tener un proceso para aplicar los parches de seguridad de React y Next.js apenas se publican.
Qué preguntarle a quien mantiene tu sitio
- ¿Qué versiones de
next,reactyreact-domusa mi sitio? (se comprueba conpnpm list next react react-domonpm list next react react-dom). - ¿Usa el App Router y React Server Components?
- ¿Están en una versión posterior a los parches de diciembre de 2025 y a los parches de seguimiento?
- ¿Quién vigila los avisos de seguridad y en cuánto tiempo se aplican?
- Si el sitio estuvo expuesto sin parchear, ¿se rotaron las claves y secretos (bases de datos, correo, API)? Es una medida prudente porque el fallo permitía ejecutar código en el servidor.
Como referencia de nuestra práctica: el sitio de Edwsystem usa actualmente Next.js 15.5.21, y mantenemos instalaciones reproducibles con archivo de bloqueo. Más sobre ese tema en ataques a la cadena de suministro.
Mitigaciones que sirven más allá de este fallo
- Parches de seguridad aplicados en días, no en meses, con un responsable asignado.
- Despliegues desde un archivo de bloqueo (
pnpm install --frozen-lockfile) para saber exactamente qué versión corre en producción. - Secretos fuera del código y fáciles de rotar, de modo que un incidente no signifique reconstruir todo.
- El contenedor o servidor con los mínimos permisos posibles y sin acceso a más datos de los necesarios.
- Registros y alertas para detectar comportamientos anómalos en el servidor.
¿Tu sitio usa Next.js o React y no sabes en qué versión está? Pídenos una revisión.
Fuentes
Preguntas frecuentes
¿Qué es React2Shell?
Es el nombre popular de CVE-2025-55182, una vulnerabilidad crítica de ejecución remota de código en los React Server Components, publicada a comienzos de diciembre de 2025.
¿Mi sitio de WordPress está afectado por React2Shell?
No por este fallo. Afectó a aplicaciones que usan los React Server Components, como las hechas con Next.js 15 o 16 con App Router.
¿Basta con actualizar una vez?
No. Después de los parches iniciales aparecieron otras vulnerabilidades en los mismos componentes (CVE-2025-55183, CVE-2025-55184 y CVE-2025-67779), así que hay que seguir aplicando las actualizaciones de seguridad.