Underc0de - La Casa de los Informáticos

Foros Generales => Noticias Informáticas => Mensaje iniciado por: Dragora en Enero 14, 2026, 08:51:14 PM

Título: Node.js corrige vulnerabilidad crítica DoS que afecta a apps en producción
Publicado por: Dragora en Enero 14, 2026, 08:51:14 PM
(https://i.imgur.com/s2tgbEd.jpeg)

El equipo de Node.js ha publicado actualizaciones de seguridad para corregir lo que ha descrito como un problema crítico que afecta a prácticamente todas las aplicaciones Node.js en producción, y que podría ser explotado para provocar una denegación de servicio (DoS). La vulnerabilidad, ahora rastreada como CVE-2025-59466, tiene una puntuación CVSS de 7,5, reflejando un impacto significativo en disponibilidad dentro del ecosistema JavaScript moderno.

Según explicaron Matteo Collina y Joyee Cheung, mantenedores del proyecto Node.js, el problema está relacionado con un comportamiento inesperado del motor Node.js/V8 al manejar el agotamiento del espacio de pila (stack overflow) cuando la API async_hooks está habilitada. Este fallo rompe un mecanismo en el que frameworks y herramientas modernas han llegado a confiar para mantener la estabilidad del servicio.

¿Cuál es el origen de la vulnerabilidad?

Node.js y el motor JavaScript V8 intentan recuperarse de forma controlada cuando ocurre un desbordamiento de pila, generando un error detectable que puede ser gestionado por el código de la aplicación o por los frameworks subyacentes. Sin embargo, este comportamiento cambia de forma crítica cuando async_hooks está activo.

En ese escenario, si una recursión profunda —especialmente aquella cuya profundidad depende de entrada no sanitizada controlada por el usuario— agota el espacio de pila, Node.js termina abruptamente el proceso con el código de salida 7, en lugar de generar una excepción manejable. El código 7 indica un fallo en tiempo de ejecución del gestor interno de excepciones, lo que provoca la caída inmediata del proceso.

Este comportamiento convierte una condición lógica de error en un vector directo de denegación de servicio, ya que un atacante puede provocar la finalización repetida del proceso simplemente forzando recursiones profundas mediante solicitudes especialmente diseñadas.

El papel crítico de async_hooks y AsyncLocalStorage

La API async_hooks es un componente de bajo nivel de Node.js que permite a los desarrolladores rastrear el ciclo de vida de recursos asíncronos, como temporizadores, consultas a bases de datos o solicitudes HTTP. Sobre esta API se construye AsyncLocalStorage, un mecanismo ampliamente utilizado para propagar contexto a lo largo de operaciones asíncronas, como identificadores de solicitudes, trazas o datos de sesión.

El problema, según Node.js, es que AsyncLocalStorage está profundamente integrado en el ecosistema moderno, lo que amplifica el impacto de la vulnerabilidad. Frameworks y herramientas afectadas incluyen:


En la práctica, esto significa que una gran parte de las aplicaciones Node.js en producción —especialmente aquellas que utilizan observabilidad, trazabilidad o renderizado del lado del servidor— están potencialmente expuestas.

Versiones afectadas y correcciones disponibles

Node.js confirmó que el problema afecta a todas las versiones desde la 8.x hasta la 18.x, siendo la versión 8.0.0 (Carbon), lanzada el 30 de mayo de 2017, la primera en introducir async_hooks. Sin embargo, estas versiones no recibirán parches, ya que han alcanzado el estado de fin de vida útil (EoL).

Las correcciones han sido implementadas en las siguientes versiones soportadas:


La solución técnica detecta los errores de desbordamiento de pila y los vuelve a convertir en errores de código de usuario, evitando que el proceso finalice de forma fatal.

¿Por qué Node.js considera esta corrección una mitigación?

A pesar del impacto práctico y generalizado, el equipo de Node.js ha señalado que trata esta corrección como una mitigación y no como un arreglo definitivo, por varias razones clave:


Aun así, Node.js decidió incluir el cambio dentro de una actualización de seguridad, dada la magnitud del impacto en el ecosistema. En palabras del propio proyecto, esta corrección mejora la previsibilidad del manejo de errores y la experiencia de los desarrolladores, reduciendo el riesgo de caídas inesperadas en producción.

Riesgos reales para entornos de producción

El aspecto más preocupante de CVE-2025-59466 es que no requiere condiciones complejas para ser explotada. Cualquier aplicación que procese entrada de usuario y utilice frameworks modernos o herramientas APM podría ser forzada a caer repetidamente, provocando interrupciones de servicio, reinicios continuos y pérdida de disponibilidad.

En entornos de alta criticidad, como APIs públicas, plataformas financieras o servicios SaaS, este tipo de fallo puede traducirse en impacto operativo, pérdida de ingresos y degradación de la confianza del cliente.

Recomendaciones de seguridad

Node.js recomienda de forma explícita:


Estas correcciones refuerzan la necesidad de mantener Node.js actualizado como parte esencial de cualquier estrategia de seguridad en aplicaciones modernas.

Fuente: https://thehackernews.com/