Node.js 26.12.1, 24.22.1 y 22.23.4 corrigen 10 fallos de seguridad
Node.js corrigió diez vulnerabilidades el 21 de octubre de 2026, cuatro de gravedad alta, entre ellas un fallo del decodificador Brotli que puede permitir ejecutar código a distancia.
3 min de lectura

En cifras
- vulnerabilities fixed across three release lines
- 10
- rated high severity
- 4
- bundled dependencies updated, eMudhra block included
- 5
El proyecto Node.js publicó actualizaciones de seguridad para sus tres ramas con soporte el 21 de octubre de 2026 y corrigió diez vulnerabilidades. Cuatro tienen gravedad alta. Una de ellas está en el decodificador Brotli y, según el proyecto, puede permitir ejecutar código a distancia. Quien use Node.js 26, 24 o 22 debe pasar a 26.12.1, 24.22.1 o 22.23.4.
Las versiones corregidas y lo que cubren
Node.js es el entorno de ejecución de JavaScript detrás de casi todo el JavaScript del lado del servidor, desde API web hasta herramientas de compilación. La nota de seguridad de Node.js clasifica las correcciones por gravedad: cuatro altas, tres medias y tres bajas. Cada rama tiene una versión corregida.
| Rama | Versión corregida | Estado |
|---|---|---|
| 26.x | 26.12.1 | Current |
| 24.x | 24.22.1 | LTS |
| 22.x | 22.23.4 | LTS |
LTS significa soporte a largo plazo: una rama que recibe correcciones durante años. Según el sitio japonés Jinrai, que revisó cómo respondieron los proveedores, 24.x tiene soporte hasta el 30 de abril de 2028 y 22.x hasta el 30 de abril de 2027. Node.js 26 pasará a LTS el 28 de octubre de 2026.
Las mismas versiones actualizan cinco bibliotecas incluidas: c-ares (consultas DNS), Undici (el cliente HTTP detrás de fetch), OpenSSL, SQLite y la lista de certificados integrada. Este último cambio bloquea los certificados de eMudhra, la autoridad de certificación cuyas claves quedaron expuestas esta semana. Tech AI Wire cubrió ese incidente en Claves de CA de eMudhra comprometidas: Go, Firefox y NSS publican parches.
Los cuatro fallos de gravedad alta
| CVE | Qué falla | Ramas afectadas |
|---|---|---|
| CVE-2026-111497 | El decodificador Brotli escribe fuera de límites y permite ejecutar código a distancia | 26, 24, 22 |
| CVE-2026-106069 | La comprobación del nombre de host TLS se supera cuando un host se resuelve de forma laxa a una IP | 26, 24, 22 |
| CVE-2026-105483 | La comprobación del nombre de host TLS se supera cuando una IP se escribe con dígitos de ancho completo | 26, 24 |
| CVE-2026-105482 | dns.resolve recorta los nombres que contienen un carácter NUL | 26, 24, 22 |
Brotli es un formato de compresión que los servidores web y los navegadores usan para reducir las respuestas. Una escritura fuera de límites significa que el decodificador escribe datos más allá de la memoria que se le asignó. Jinrai señala que la nota oficial aún no describe las condiciones que necesitaría un atacante.
Los dos fallos de TLS están en la comprobación de que el certificado de un servidor coincide con la dirección solicitada. Si una dirección se escribe de forma poco habitual, la comprobación puede aceptar el certificado equivocado. Jinrai cita el registro de la corrección, según el cual explotarlo "no es fácil". No se habían reportado ataques a primera hora del 22 de octubre, hora de Japón.
Los fallos medios y bajos que conviene revisar
Un fallo medio afecta a las aplicaciones creadas como ejecutables únicos (SEA) o desde instantáneas de arranque. Ambas incluyen una copia preparada del programa en un solo archivo. Según Node.js, las cachés de números aleatorios de crypto.randomUUID() y randomInt() se guardaban en esa copia. Por eso todos los procesos repetían los mismos valores.
Otro fallo medio hace que una conexión keep-alive acepte una respuesta escrita antes de enviar la petición. Dos fallos de gravedad baja afectan al Permission Model, el entorno aislado opcional que limita qué archivos puede tocar un script.
Qué significa para los desarrolladores
La actualización es rutinaria, pero de dónde sacas Node.js decide lo rápido que llega.
- Revisa cada entorno, no solo tu portátil. Ejecuta
node --versionen producción, en CI y en los contenedores. Jinrai encontró las imágenes oficiales de Docker ya etiquetadas con las versiones corregidas, mientras que Homebrew seguía ofreciendo 26.12.0 horas después. - Recompila las aplicaciones de un solo archivo. Si distribuyes una SEA o usas una instantánea de arranque, vuelve a compilarla con un Node.js corregido. Un entorno de ejecución reparado no arregla los valores aleatorios ya incluidos en un binario antiguo.
- Abandona Node.js 20 y 25. Según Node.js, las ramas sin soporte siempre están afectadas, y Jinrai confirma que ninguna de las dos recibe corrección. La versión 20 perdió el soporte el 30 de abril de 2026.
- Prioriza los servicios que descomprimen datos de clientes. Una API pública que acepte cuerpos de petición comprimidos con Brotli es el objetivo más claro de CVE-2026-111497.
El bloqueo de eMudhra llega con la actualización, como destaca heise online. Node.js ahora incluye una lista de certificados intermedios bloqueados. Así puede rechazar una cadena aunque su raíz siga siendo de confianza. La anterior corrección de seguridad de Node.js, en septiembre, fue menor: Node.js 22.23.3 LTS corrige un error use-after-free en HTTP/2.
Fuentes
Artículos relacionados

Tools This Week: 16 de octubre de 2026 - Bun 1.4.3, Figma Specs
Diez herramientas para desarrolladores esta semana, encabezadas por el verificador de TypeScript de Bun 1.4.3 y Figma Specs, además de Rust 1.99.1, las comprobaciones de licencias de GitHub y DeepSeek V4.1-Flash-1017.

Alarma de malware en Zod 4.6.6: el commit malicioso nunca llegó a npm
Zod 4.6.6 salió el 11 de octubre con commits maliciosos del 21 de septiembre en su historial. Se revirtieron ese mismo día y ninguno llegó a npm.

MALFEX: un malware de npm pasó 14 meses sin ser detectado
MALFEX, una campaña de malware en npm de una sola persona, publicó 12 paquetes desde 2023 y acumuló 40.767 descargas. Algunos paquetes siguen activos y sin aviso de seguridad.