Netcrook Logo
👤 KERNELWATCHER
🗓️ 14 Jan 2026  

Node.js bajo fuego: una falla crítica en async_hooks pone en riesgo a servidores globales de un colapso repentino

Una vulnerabilidad recién revelada en async_hooks de Node.js amenaza con derribar servidores en todo internet, dejando a los principales frameworks y herramientas de monitoreo de aplicaciones (APM) luchando por una solución.

Todo comenzó, como muchos incidentes cibernéticos, con un error sutil acechando en las sombras - uno que podría convertir el tráfico web rutinario en la pesadilla de cualquier administrador de servidores. Esta semana, los responsables de Node.js emitieron una actualización de seguridad urgente para corregir una falla que permitiría a atacantes derribar prácticamente cualquier servidor Node.js en producción en cuestión de segundos, simplemente saturándolo con entradas recursivas. La raíz del problema: una vulnerabilidad crítica en el módulo async_hooks, un componente central utilizado por frameworks y herramientas de monitoreo populares en todo el mundo.

Datos clave

  • Vulnerabilidad crítica (CVE-2025-59466) afecta a las versiones de Node.js desde la 8.x hasta la 18.x, e incluso a lanzamientos actuales.
  • Explotar el error puede causar desbordamientos de pila no gestionados, derribando instantáneamente los servidores afectados.
  • Async_hooks es ampliamente utilizado por frameworks como React Server Components, Next.js y grandes APMs como Datadog y New Relic.
  • Corregido en las versiones 20.20.0, 22.22.0, 24.13.0 y 25.3.0 de Node.js; las versiones anteriores siguen siendo vulnerables y no tienen parche.
  • En la última actualización de seguridad también se abordaron otras tres fallas de alta gravedad en Node.js.

La historia de esta vulnerabilidad es un ejemplo de cómo la infraestructura web moderna puede venirse abajo por un solo comportamiento pasado por alto. Node.js, la columna vertebral de innumerables aplicaciones web, depende de la API async_hooks para rastrear operaciones asíncronas - desde el manejo de solicitudes HTTP hasta la gestión de consultas a bases de datos. Durante años, los desarrolladores confiaron en que Node.js se recuperaría de los desbordamientos de pila, capturando errores y manteniendo la disponibilidad incluso bajo alta carga.

Pero un error recién descubierto cambia las reglas del juego. Cuando async_hooks está habilitado - lo cual es el valor predeterminado para muchos frameworks y herramientas de monitoreo - Node.js no lanza un error capturable si una entrada de usuario no confiable impulsa código recursivo lo suficientemente profundo como para agotar la pila. En su lugar, el proceso termina abruptamente con el código 7, sin ofrecer oportunidad de recuperación. El resultado: un camino trivial hacia la denegación de servicio, ya que los atacantes pueden derribar servidores repetidamente enviando solicitudes diseñadas para provocar desbordamientos de pila.

El impacto es amplio. Async_hooks es la base de AsyncLocalStorage, una utilidad adoptada por React Server Components, Next.js y todas las principales herramientas de monitoreo de aplicaciones (APM). Como resultado, prácticamente todos los despliegues modernos de Node.js están en riesgo. La solución del equipo de Node.js, ya disponible en las últimas versiones LTS y actuales, garantiza que los errores de desbordamiento de pila vuelvan a ser visibles para el código del usuario, restaurando el manejo predecible de errores.

Sin embargo, no todo está resuelto. La vulnerabilidad sigue sin corregirse en versiones antiguas de Node.js - específicamente, aquellas que ya no cuentan con soporte de los mantenedores. Los desarrolladores que ejecutan stacks heredados quedan expuestos, sin una solución oficial a la vista. Mientras tanto, el equipo de Node.js señala rápidamente que el agotamiento del espacio de pila no está cubierto formalmente por la especificación ECMAScript, y que el motor JavaScript V8 subyacente no lo considera un problema de seguridad. Aun así, el riesgo en el mundo real es claro: aplicaciones enteras pueden ser derribadas por una simple entrada maliciosa.

Mientras los defensores se apresuran a parchear sus sistemas, este episodio es un recordatorio contundente de cómo las grietas más pequeñas en el software fundamental pueden propagarse por todo el mundo digital. En el panorama siempre cambiante de la seguridad web, la vigilancia y la respuesta rápida siguen siendo nuestra primera - y a veces única - línea de defensa.

WIKICROOK

  • async_hooks: async_hooks es una API de Node.js para rastrear y gestionar el ciclo de vida de las operaciones asíncronas, ayudando a los desarrolladores a depurar y monitorear la ejecución de código asíncrono.
  • Desbordamiento de pila: Un desbordamiento de pila ocurre cuando un programa utiliza más memoria de pila de la permitida, lo que potencialmente permite a los atacantes derribar o controlar el sistema.
  • Denegación: En ciberseguridad, denegación significa hacer que sistemas o servicios no estén disponibles para los usuarios, a menudo mediante ataques como Denegación de Servicio (DoS) que los saturan con tráfico.
  • Monitoreo de Rendimiento de Aplicaciones (APM): Las herramientas APM monitorean y gestionan el rendimiento de aplicaciones, ayudando a detectar problemas, optimizar la velocidad y garantizar experiencias de usuario confiables y de alta calidad.
  • ECMAScript: ECMAScript es la especificación estandarizada del lenguaje de scripting que sustenta JavaScript, asegurando consistencia y compatibilidad entre navegadores web y plataformas.
Node.js async_hooks vulnerability

KERNELWATCHER KERNELWATCHER
Linux Kernel Security Analyst
← Back to news