Vulnerabilidad crítica en Node.js permite caídas del servidor vía desbordamiento de pila en async_hooks
El proyecto Node.js publicó el 13 de enero de 2026 actualizaciones críticas de seguridad para corregir una vulnerabilidad severa de denegación de servicio (DoS) en el módulo async_hooks, registrada como CVE-2025-59466. La falla permite provocar caídas abruptas del proceso mediante desbordamientos de pila no capturables, afectando directamente la disponibilidad de aplicaciones en producción.
Detalles técnicos de la vulnerabilidad
El problema se manifiesta cuando async_hooks está habilitado —un escenario común en aplicaciones que utilizan AsyncLocalStorage o ganchos personalizados para trazabilidad asíncrona—. Ante recursiones profundas, en lugar de emitir el error capturable estándar “Maximum call stack size exceeded” (RangeError), el runtime termina el proceso con código de salida 7, eludiendo mecanismos de manejo como try/catch o process.on('uncaughtException').
En términos prácticos, entradas no sanitizadas (por ejemplo, JSON excesivamente anidados) pueden convertirse en vectores DoS efectivos, provocando el colapso inmediato del servidor.
Impacto en aplicaciones y ecosistema
La vulnerabilidad afecta versiones desde Node.js 8.x hasta 18.x (ramas ya sin soporte), y de forma parcial a 20.x, 22.x y 24.x cuando se utiliza async_hooks.createHook().
Frameworks y herramientas ampliamente desplegadas quedan expuestos debido a que activan async_hooks para el manejo de contexto asíncrono, entre ellos:
-
Next.js (versiones previas a 24+)
-
React Server Components
-
Plataformas de APM y observabilidad como Datadog, New Relic y OpenTelemetry
Un PoC difundido por la comunidad demuestra que una función recursiva simple, ejecutada bajo un hook activo, es suficiente para provocar crashes inmediatos, sin posibilidad de recuperación del proceso.
Parches y medidas de mitigación
Node.js corrigió el comportamiento en las versiones:
-
20.20.0
-
22.22.0
-
24.13.0
-
25.3.0
Los parches restauran el manejo recuperable de errores por desbordamiento de pila, evitando la terminación abrupta del proceso.
Recomendaciones técnicas inmediatas
-
Actualizar de forma urgente a las versiones parcheadas.
-
Auditar dependencias que habiliten async_hooks (especialmente APM).
-
Validar y limitar entradas recursivas, como profundidad máxima en parsers JSON.
-
Ejecutar pruebas específicas en entornos con async_hooks activo antes de desplegar.
Proveedores como Datadog ya publicaron guías de mitigación, enfatizando la validación preventiva y pruebas de estrés enfocadas en recursión.