Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Fallo en React Server Components permite congelar servidores de Next.js con un solo POST


Se ha detectado una vulnerabilidad de denegación de servicio (DoS) de severidad alta (CVE-2026-23870) en React Server Components. Este fallo permite que un atacante remoto pueda congelar servidores de Next.js mediante el envío de una solicitud POST especialmente diseñada a un endpoint de función de servidor. El problema, que tiene una puntuación CVSS de 7.5, afecta a las aplicaciones que utilizan React 19.x.





Un fallo de denegación de servicio de alta gravedad (CVE-2026-23870) en React Server Components puede permitir que un atacante remoto congele servidores de Next.js vulnerables enviando una solicitud POST especialmente diseñada a un punto final de función de servidor.

El problema tiene una puntuación CVSS de 7.5 y afecta a los paquetes de React Server Components utilizados por las aplicaciones React 19.x, incluyendo muchos despliegues de Next.js que usan Server Actions.

La vulnerabilidad surge de la forma en que React reconstruye los datos del formulario enviados antes de que se ejecute una Server Action. El atacante no necesita infiltrarse en la aplicación ni acceder a datos protegidos.

En su lugar, puede obligar al servidor a ejecutar muchas comprobaciones repetidas, consumir recursos de la CPU y evitar que responda a los visitantes normales.

React solucionó el fallo en las versiones 19.0.6, 19.1.7 y 19.2.6. Si tu organización utiliza versiones anteriores, debes actualizar lo antes posible.

Las aplicaciones modernas de React utilizan Server Actions para permitir que el envío de formularios llame a funciones del backend directamente, lo que requiere que React analice las solicitudes HTTP y reconstruya los campos del formulario enviados antes de la ejecución.

El código vulnerable gestiona referencias especiales dentro del formato de datos de formulario de React. Un tipo de referencia, marcado con $K, indica a React que una estructura de formulario anidada debe ser reconstruida. Para resolver cada referencia $K, React creaba una lista de cada campo en la solicitud enviada y luego revisaba la lista completa en busca de entradas coincidentes.

Esa lógica se vuelve costosa cuando una solicitud contiene un gran número de referencias y un gran número de campos ordinarios. Cada referencia $K activa otro escaneo completo de la lista de campos enviados. Por ejemplo, una solicitud POST que contenga 10,000 referencias y 10,000 campos de formulario puede provocar aproximadamente 100 millones de comparaciones de cadenas.

Fallo en React Server Components

Una prueba de concepto compartida por el investigador Simon Koeck demostró que una solicitud de unos 900 KB podría activar esta carga de trabajo. El problema no es el tamaño de la solicitud en sí, sino el procesamiento repetitivo que realiza React al manejar la estructura de datos enviada.

Muchos despliegues de Next.js se ejecutan en Node.js, donde el procesamiento síncrono intensivo de CPU puede bloquear el bucle de eventos (event loop). Mientras React escanea los campos del formulario controlados por el atacante, el servidor puede ser incapaz de procesar otras solicitudes entrantes a tiempo.

Como resultado, los usuarios legítimos pueden experimentar cargas de página lentas, tiempos de espera agotados en las solicitudes o errores HTTP 503. Las solicitudes POST maliciosas repetidas podrían mantener una instancia de la aplicación no disponible el tiempo suficiente para que las comprobaciones de estado o los balanceadores de carga la marquen como no saludable y la eliminen del servicio.

La vulnerabilidad es importante porque el análisis ocurre antes de que se ejecute la lógica de Server Action de la aplicación. En la práctica, las protecciones implementadas dentro de la acción misma no evitan el costoso análisis de la solicitud.

Las Server Actions accesibles públicamente son las más expuestas, pero las aplicaciones autenticadas también pueden verse afectadas cuando cualquier usuario normal puede alcanzar el punto final vulnerable.

El aviso de React indica que las solicitudes HTTP especialmente diseñadas a los puntos finales de funciones de servidor pueden provocar un uso excesivo de la CPU, condiciones de falta de memoria o caídas del servidor. El NIST clasifica el problema como CWE-400, o consumo incontrolado de recursos.

El CVE-2026-23870 afecta a los siguientes paquetes de React Server Components:



react-server-dom-webpack, react-server-dom-turbopack y react-server-dom-parcel.


Los rangos de versiones vulnerables son React 19.0.0 hasta 19.0.5, React 19.1.0 hasta 19.1.6 y React 19.2.0 hasta 19.2.5. Las versiones parcheadas son 19.0.6, 19.1.7 y 19.2.6.

Si eres usuario de Next.js, debes revisar tu árbol de dependencias resueltas en lugar de confiar solo en la versión de Next.js de nivel superior. Las aplicaciones que utilizan App Router, React Server Components o Server Actions pueden incluir uno de los paquetes server-dom de React afectados a través de las dependencias de su framework.

Cyber Security News informó anteriormente que el conjunto de problemas más amplio de React y Next.js afectaba a los despliegues de App Router y a los puntos finales de funciones de servidor, haciendo que la verificación de dependencias sea importante para los equipos de desarrollo y producción.

React cambió la ruta de procesamiento de datos de formulario afectada para que los campos se escaneen una sola vez y se consuman a medida que se gestionan, en lugar de volver a escanear la lista completa para cada referencia anidada. Esto elimina la condición de trabajo repetitivo detrás del problema de agotamiento de la CPU.

Los equipos deben actualizar React y los paquetes relevantes de React Server Components a la versión corregida en su rama compatible, reconstruir los artefactos de la aplicación y volver a desplegar todos los entornos afectados.

También deberían revisar los controles de borde y de proxy inverso, incluyendo los límites de tamaño del cuerpo POST, los controles de tasa de solicitudes y los tiempos de espera. Estos controles pueden reducir la exposición, pero parchear React sigue siendo la solución principal porque la debilidad reside en la lógica de procesamiento de solicitudes de React.

Los administradores deben monitorizar la actividad POST inusual contra las páginas que exponen Server Actions, especialmente ráfagas de solicitudes multipart form-data, un uso elevado de CPU sin un tráfico de aplicación correspondiente, el crecimiento de la cola de solicitudes y fallos repetidos en las comprobaciones de estado.



Fuentes:
https://cybersecuritynews.com/react-server-components-dos-vulnerability/

0 comments :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.