Ir al contenido

El medio de los artesanos de la web viernes, 23 de octubre de 2026

MailStudio
Seguridad

Node.js corrige un fallo crítico de RCE en su decodificador Brotli

Las ramas 22, 24 y 26 de Node.js reciben una publicación de seguridad crítica que corrige una ejecución remota de código en el decodificador Brotli, además de varios fallos de validación TLS. Cualquier servidor en producción debe actualizarse sin demora, ya que…

Node.js publicó el 21 de octubre de 2026 una serie de parches de seguridad que cubren a la vez las tres ramas mantenidas del runtime: 22.x, 24.x y 26.x. El fallo más grave afecta al decodificador Brotli y permite una ejecución remota de código. La publicación también cierra varios fallos de validación TLS, lo que la convierte en una de las actualizaciones más densas del año para los equipos que operan Node.js en producción.

Una ejecución remota de código a través del decodificador Brotli

La vulnerabilidad principal, identificada como CVE-2026-111497 y clasificada de gravedad alta, procede de un fallo en el decodificador Brotli integrado en Node.js. Una entrada Brotli especialmente construida puede provocar una escritura fuera de límites, un defecto clásico que abre la puerta a una ejecución de código arbitraria en el servidor. El fallo fue reportado por el equipo de seguridad de OpenAI Codex junto con los investigadores Khai Tran y Sylvie Mayer, y corregido por los mantenedores Matteo Collina y Antoine du Hamel.

Cualquier servicio que descomprima contenido Brotli no confiable debe tratar este fallo como prioritario. La función zlib.brotliDecompress y sus equivalentes síncronos están directamente afectados.

TLS: varios fallos de validación cerrados en la misma publicación

La misma publicación cierra tres fallos de validación TLS. Dos de ellos permiten que un nombre de host inválido se acepte como válido, uno mediante dígitos de ancho completo en un certificado, el otro cuando un host se resuelve de forma laxa hacia una dirección IP. Un tercer parche corrige la validación de certificados con una dirección IPv4 no canónica. Estos defectos afectan a la misma cadena de confianza TLS que Node.js ya había renovado en septiembre, con raíces NSS y OpenSSL actualizados. Otros parches, de gravedad media a baja, cubren la reutilización de sockets keep-alive, valores repetidos en crypto.randomUUID() y dos fallos del modelo de permisos propios de la rama 26.x.

RamaVersión corregidaEstadoFallo Brotli
22.x22.23.4LTSAfectada
24.x24.22.1LTS (última)Afectada
26.x26.12.1Current (última)Afectada

Versiones afectadas y actualización

Las tres ramas mantenidas están afectadas, lo que descarta cualquier estrategia de evitar el problema con un cambio de versión menor. Una aplicación que todavía funcione sobre una rama fuera de soporte sigue siendo vulnerable sin recibir ningún parche, incluido el del fallo Brotli. Comprobar la versión activa y actualizar sigue siendo la única respuesta recomendada por el equipo de Node.js.

# Comprobar la versión activa
node --version

# Con nvm, instalar y activar la versión corregida de la rama utilizada
nvm install 24.22.1
nvm alias default 24.22.1

# En un despliegue con systemd, reconstruir y recargar el servicio
npm ci --omit=dev
sudo systemctl restart mi-app.service

Una entrada Brotli puede provocar una escritura fuera de límites capaz de derivar en una ejecución remota de código, en las tres ramas actualmente mantenidas de Node.js.

Las versiones de Node.js que han llegado a su fin de soporte siguen expuestas al fallo Brotli: no recibirán ningún parche. Una auditoría rápida de los entornos de producción permite detectar las instancias que aún funcionan sobre una rama sin mantenimiento antes de que se conviertan en el objetivo más sencillo.

Qué cambia para los equipos que operan Node.js

La densidad de esta publicación, seis CVE de una sola vez, incluida una RCE de gravedad alta, recuerda que la superficie de ataque de un runtime no se limita al código de la aplicación. Los equipos que gestionan un despliegue de Node.js en producción detrás de systemd y un proxy inverso ganan automatizando el cambio de versión en lugar de tratarlo manualmente con cada anuncio. Los parches TLS de esta publicación también se suman a la renovación de la cadena TLS de Node.js iniciada en septiembre, prueba de que ese trabajo sigue activo.

Lo que hay que recordar

Node.js 22.23.4, 24.22.1 y 26.12.1 corrigen un fallo RCE crítico en el decodificador Brotli, además de varios fallos de validación TLS. La actualización afecta a toda instalación activa, incluidas las que funcionan sobre versiones LTS recientes publicadas apenas unos días antes, como la 24.22.0 de la semana anterior. Las versiones fuera de soporte siguen siendo vulnerables sin posibilidad de recibir un parche.

Este tipo de publicación agrupada plantea siempre la misma pregunta a los equipos técnicos: ¿quién vigila realmente los avisos de seguridad de un runtime una vez que el proyecto lleva meses en producción? La respuesta, demasiado a menudo, es nadie, hasta que una auditoría o un incidente obliga a plantearla. Automatizar la vigilancia de las publicaciones de seguridad de Node.js, con una alerta que active una actualización probada en 48 horas, cuesta mucho menos que un servicio comprometido a través de una dependencia tan común como la decodificación Brotli — Simon Janvier.

Para profundizar: el aviso de seguridad completo, con la lista detallada de los CVE corregidos por rama, está disponible en el blog oficial de Node.js.

Compartir LinkedIn Bluesky Hacker News E-mail

Leer también