Octubre Negro 2026

Node.js Brotli (Node2Shell): cómo saber si te afecta

Falla en el decodificador Brotli de Node.js 22, 24 y 26. Versiones corregidas y cómo comprobar servidores, contenedores e imágenes base.

Ver detalle

Respuesta corta

El 21 de octubre Node.js corrigió diez fallas. La más grave, CVE-2026-111497, es una escritura fuera de límites en el decodificador Brotli incluido en Node.js que, con datos comprimidos maliciosos, puede dañar la memoria del proceso y, en teoría, permitir ejecución remota de código. Afecta a las ramas 22.x, 24.x y 26.x, y se corrige en 22.23.4, 24.22.1 y 26.12.1.

Cuándo se vuelve explotable

La falla se activa cuando la aplicación descomprime Brotli que controla un atacante, ya sea con node:zlib o, sin que tu código lo note, al usar fetch() sobre una respuesta enviada con compresión Brotli.

Una prueba de concepto pública del 22 de octubre solo logró ejecutar código en una compilación debilitada a propósito; en una compilación normal reportó caída del proceso y lectura limitada de memoria. A esa fecha no se había reportado explotación real. Eso puede cambiar: los exploits se mejoran.

Otras fallas altas del mismo lote

CVE Qué hace Ramas afectadas
CVE-2026-105482 dns.resolve corta nombres con carácter NUL, y una validación de dominio puede resolver otro nombre del que validó 22.x, 24.x, 26.x
CVE-2026-105483 La verificación TLS acepta certificados para direcciones IP escritas con dígitos de ancho completo 24.x, 26.x
CVE-2026-106069 La verificación TLS compara contra una IP distinta cuando el host lleva un cero a la izquierda (como 0127.0.0.1) 22.x, 24.x, 26.x

El lote también actualiza OpenSSL, Undici, c-ares y los certificados raíz.

Cómo comprobar tu versión

  1. node -v en el servidor, y en cada contenedor o imagen que ejecute Node.js.
  2. Busca imágenes base antiguas en tus Dockerfile (FROM node:…).
  3. Revisa si tus herramientas de compilación o despliegue usan otra versión de Node que la del servidor.
  4. Si usas un runtime administrado, confirma en su aviso de cambios qué versión corre tu servicio: los parches de la plataforma no siempre cambian el número que ves.

Cómo corregirlo

Actualiza a 22.23.4, 24.22.1 o 26.12.1 según tu rama. Reconstruye las imágenes de contenedor y reinicia los servicios: el cambio no aplica a procesos que siguen corriendo con el binario anterior.

Un detalle que se olvida con frecuencia: actualizar el Dockerfile no cambia nada hasta que la imagen se reconstruye y el contenedor se recrea. Si el despliegue solo reinicia el servicio sobre la imagen previa, el binario sigue siendo el antiguo.

Si usas Node.js 20 u otra rama sin soporte

Node.js indica que las versiones sin soporte siempre quedan afectadas cuando sale un lote de seguridad, y no reciben corrección. Node.js 20 llegó a fin de vida el 30 de abril de 2026. Migra a 22, 24 o 26, o busca soporte comercial extendido.

Qué revisar después de actualizar

  • Que los servicios levantaron y responden.
  • Que las tareas que consumen API externas siguen funcionando.
  • Registros de los procesos Node en busca de caídas previas al parche que hayan pasado inadvertidas.
  • Que no queden contenedores huérfanos con la versión anterior.

Fuentes consultadas

Los datos de versiones y fechas deben contrastarse siempre con el aviso oficial del fabricante antes de tomar decisiones de parcheo.

← Volver al hub de Octubre Negro

Preguntas frecuentes

¿Mi aplicación usa Brotli aunque no lo haya programado?

Puede que sí. Si tu servidor consume respuestas de otros sitios con fetch(), Node.js puede descomprimir Brotli sin que tu código lo pida.

¿Hay explotación activa?

Al 22 de octubre no había reportes de explotación real, pero el parche ya es público y los exploits se mejoran con el tiempo.

¿Qué hago si no puedo actualizar hoy?

Limita desde qué orígenes tu aplicación descarga contenido y evita procesar datos comprimidos de fuentes no confiables hasta aplicar el parche.

Siguiente paso

¿Revisamos tu servidor?

Comprobamos versiones y configuración de PHP, nginx, Node.js y Java, y priorizamos los parches por exposición real.

contacto@exis.cl

Solicitar evaluación

Cuéntanos qué necesitas revisar y qué te preocupa. Si el trabajo requiere acceso, coordinamos un método seguro y temporal.

¿Prefieres correo? contacto@exis.cl