Node.js publica 10 CVEs de emergencia con fallas altas en HTTP/2 y en el Permission Model

Las versiones 22.23.2, 24.18.1 y 26.5.1 fueron liberadas el 29 de julio para corregir problemas de memoria en HTTP/2, uso después de la liberación y bypass del modelo de permisos que sostiene cargas aisladas.
La fundación Node.js publicó el miércoles (29 de julio) una ronda de seguridad que corrige 10 vulnerabilidades en una única ventana, tres de ellas clasificadas como ALTAS. Las versiones 22.23.2, 24.18.1 y 26.5.1 concentran los parches, junto con actualizaciones en undici (a 6.28.0, 7.29.0 y 8.9.0) y en el analizador llhttp 9.4.3. El lanzamiento estaba programado para el 28 de julio y se retrasó 24 horas debido a problemas de infraestructura del propio equipo de lanzamiento.
La proporción de ALTAS es lo que llama la atención: en rondas anteriores de 2026, Node.js liberó entre una y dos críticas por trimestre. Tres a la vez, todas con vector de red o de escape de sandbox, marca la segunda ventana en cinco años en la que la línea 24 LTS recibe un parche con peso equivalente al de las rondas de 2021, a raíz de los bugs de HTTP/1.1 request smuggling.
Lo que está en cada ALTA
La CVE-2026-56846 afecta al servidor HTTP/2 en las líneas 22 y 24. Los encabezados retenidos en la sesión HTTP/2 pueden escapar del límite de maxSessionMemory, lo que abre la puerta a una agotamiento remoto de memoria sin autenticación. Basta con un cliente malicioso, una sesión larga y una secuencia de encabezados grandes bien formateados. La mitigación sin parche es reducir maxHeaderListPairs y maxSessionMemory a valores agresivos, a costa de la compatibilidad con clientes reales.
La CVE-2026-56848 afecta a las tres líneas activas. Es un use-after-free en nghttp2_session_mem_send cuando el envío de la sesión se reentra dentro de un callback. Se explota con paquetes HTTP/2 forjados que fuerzan al servidor a entrar en un ciclo de envío dentro de otro, y la corrupción de heap resultante permite, en escenarios realistas, la ejecución de código arbitrario. El equipo de nghttp2 upstream ya había sido notificado antes de la divulgación coordinada.
La CVE-2026-58043 afecta al Permission Model, funcionalidad añadida en Node 20 para restringir llamadas a archivos y a la red a través de las flags --allow-fs-read y --allow-fs-write. El bug está en la estructura radix-tree que empareja prefijos de caminos: una aplicación autorizada para leer /var/data puede, con abuso de límites de prefijo, leer /var/data.pem o /var/database, archivos que el operador creía fuera de la allowlist. Para quienes confían en el Permission Model para aislar plugins o funciones de terceros dentro del mismo proceso, el supuesto de contención no vale hasta la actualización.
Un mensaje sobre el Permission Model
La corrección en sí es directa. Lo que importa es el estándar. El Permission Model fue promovido de experimental a estable en el ciclo de Node 22, y equipos de plataforma en fintechs, proveedores de servicio y SaaS comenzaron a incorporarlo como una capa económica de defensa en profundidad contra bibliotecas de terceros maliciosas. Con la CVE-2026-58043 y las tres adicionales de BAJAS en esta ronda (58039, 56847, 58044) mostrando que el Permission Model tiene fallos en al menos cuatro caminos independientes, el CISO que firmó la exención de RCE en una app crítica basada en esta mitigación necesita reabrir el análisis de riesgo.
La lectura sensata no es abandonar la función, sino rebajar el crédito que recibe en el modelo de amenaza. El aislamiento por proceso separado, seccomp y cgroups siguen ofreciendo garantías que el Permission Model puro aún no entrega.
Dónde cae primero el dolor
En Estados Unidos, los proveedores de plataforma serverless que ejecutan funciones de cliente sobre runtime Node.js gestionado, como AWS Lambda, Vercel y Cloudflare, deben decidir si implementan la nueva versión antes del mantenimiento regular o si aplican mitigación por WAF en la parte frontal de HTTP/2. AWS ya históricamente publica el cronograma con dos a cuatro días de retraso respecto al lanzamiento upstream, y los clientes con contrato Enterprise suelen recibir la nota específica sobre HTTP/2 antes que el público general.
En Brasil, fintechs y empresas del sector de pagos concentran un uso intensivo del runtime, incluyendo Nubank, Stone y Ebanx. Para equipos de SRE que aún mantienen grandes flotas en Node 22 fuera de contenedores actualizados automáticamente, la ronda obliga a una ventana de despliegue fuera del horario comercial en los próximos días. En India, TCS e Infosys sostienen back-ends corporativos de clientes globales que ejecutan Node.js en contratos de mantenimiento, y el equipo de seguridad de aplicaciones de esos socios suele ser el primero en ser requerido por comprobante de parche.
El detalle del llhttp
Mientras el enfoque va hacia HTTP/2, la actualización silenciosa del llhttp a 9.4.3 corrige la CVE-2026-58044 de request smuggling en HTTP/1.1 cuando los encabezados son truncados. Es el tipo de corrección que raramente se convierte en noticia y que aparece en el post-mortem del incidente del próximo trimestre. Vale la pena la actualización incluso en servicios que ya bloquean HTTP/2 por política, como muchos brokers de API financiera aún hacen.