Codegea

Desarrollo

Desarrollo de software a medidaSistemas, plataformas e integraciones hechas a la medida de tu operaciónSitios corporativosProfesional, rápido y pensado para generar confianzaTiendas onlineCatálogo, pagos y envíos listos para vender las 24 horasWooCommerceTiendas WooCommerce rápidas, con pagos y factura de cada paísLanding pagesUna página enfocada en un solo objetivo: convertir visitantes en clientesApps móvilesApps iOS y Android a medida que ponen tu negocio en el bolsillo de tus clientes

Integración y CMS

Integraciones CMSWordPress, Strapi, Directus y Arc XP conectados a todo tu ecosistemaArc XPSoporte, implementación e integraciones para la plataforma de mediosMigracionesMigra tu sitio, plataforma o base de datos sin perder nada

Crecimiento e infraestructura

Automatización con IALa tecnología hace lo repetitivo y tu equipo se enfoca en lo que importaSEO on-pageQue Google te encuentre y te recomiende: optimización técnica y de contenidoServidores y hostingServidores rápidos y seguros, monitoreados 24/7
RetainerTu equipo dev, por mesDesde 20h al mes. Cuota fija.
GASEC: rediseño web, SEO y seguridad que le ahorró miles de dólaresUn sitio seguro, monitoreado y más productivo, con un ahorro estimado de USD 3.600 en cuatro años.Ver el caso

Por tipo

EcommerceTiendas y catálogosSitios corporativosMarca y captaciónPlataformas y appsSoftware a medida

Explorar

Todos los proyectosCasos y resultadosClientesQuién confía en nosotrosRetainerEquipo dev mensual

Blog

Todos los artículosGuías y opiniónBoletínUn correo al mesContactoRespondemos en 24h

Últimos artículos

Node.js corrige 10 vulnerabilidades, una con RCE en Brotli: actualiza hoyNode.js · 2026-10-22Vulnerabilidad crítica en PHP (CVE-2026-109618): cómo proteger tu sitio hoyServidores · 2026-10-22Así está construido codegea.com: Next.js, Payload, Turso y R2CMS · 2026-10-20
BoletínÚnete a nuestro boletínNotas prácticas de web, SEO e IA.
ServiciosDesarrollo de software a medidaSitios corporativosTiendas onlineWooCommerceLanding pagesApps móvilesIntegraciones CMSArc XPMigracionesAutomatización con IASEO on-pageServidores y hostingTu equipo dev, por mes
ProyectosUn sitio seguro, monitoreado y más productivo, con un ahorro estimado de USD 3.600 en cuatro años.EcommerceSitios corporativosPlataformas y appsTodos los proyectosClientesRetainer
Retainer
BlogTodos los artículosBoletínContactoNode.js corrige 10 vulnerabilidades, una con RCE en Brotli: actualiza hoyVulnerabilidad crítica en PHP (CVE-2026-109618): cómo proteger tu sitio hoyAsí está construido codegea.com: Next.js, Payload, Turso y R2Únete a nuestro boletín
ESEN
Hablemos

Node.js

Node.js corrige 10 vulnerabilidades, una con RCE en Brotli: actualiza hoy

Node.js 22.23.4, 24.22.1 y 26.12.1 corrigen 10 vulnerabilidades, entre ellas CVE-2026-111497, una ejecución remota de código en el decodificador Brotli. Qué hacer ahora.

Derian Pinto · Founder & Full Stack Developer2026-10-224 min

El 21 de octubre de 2026 el proyecto Node.js publicó versiones de seguridad para las líneas 22.x, 24.x y 26.x. Corrigen 10 vulnerabilidades. La más seria es CVE-2026-111497: una escritura fuera de límites en el decodificador Brotli que permite ejecución remota de código.

Un matiz importante: el aviso oficial clasifica la más grave como severidad alta (High), no «crítica», y no menciona ningún problema crítico. Aun así, una RCE en una librería que procesa datos de red merece actualizarse cuanto antes.

Versiones parcheadas

Línea

Versión corregida

22.x

22.23.4

24.x (LTS)

24.22.1

26.x

26.12.1

Las versiones que ya llegaron a fin de vida también están afectadas y no recibirán parche.

Las 10 vulnerabilidades

CVE

Severidad

Líneas

Resumen

CVE-2026-111497

Alta

22, 24, 26

Escritura fuera de límites en el decodificador Brotli que permite ejecución remota de código

CVE-2026-106069

Alta

22, 24, 26

Bypass de la verificación de hostname TLS cuando el host se resuelve de forma laxa a una IP

CVE-2026-105483

Alta

24, 26

Bypass de hostname TLS cuando la IP se escribe con dígitos de ancho completo

CVE-2026-105482

Alta

22, 24, 26

dns.resolve trunca nombres que contienen el carácter NUL

CVE-2026-105481

Media

22, 24, 26

Un socket keep-alive procesa una respuesta escrita antes de enviarse la petición

CVE-2026-106072

Media

22, 24, 26

Validación de certificados incorrecta con hostnames IPv4 no canónicos

CVE-2026-106074

Media

22, 24, 26

Las cachés de entropía de crypto.randomUUID() y randomInt() se guardan en snapshots y SEA, y todos los procesos repiten los mismos valores

CVE-2026-106070

Baja

26

ZipFile devuelve bytes de prefijo controlados por el atacante tras una validación fallida

CVE-2026-106071

Baja

26

Exceso de permisos en el sistema de archivos del Permission Model

CVE-2026-106073

Baja

22, 24, 26

Bypass del Permission Model con fs.realpathSync

La versión también actualiza dependencias internas: c-ares, Undici, OpenSSL (22.x y 24.x), SQLite (22.x) y un cambio en los certificados raíz por el compromiso de una CA intermedia (eMudhra).

Por qué importa lo de Brotli

Brotli es un formato de compresión que los servidores web y las APIs usan de forma habitual. Node lo incluye en el propio binario, de modo que no basta con actualizar una librería Brotli del sistema operativo: necesitas el nuevo binario de Node.

Según análisis de terceros del aviso, fetch() y Express 5 descomprimen Brotli automáticamente, lo que facilita llegar al código vulnerable cuando tu aplicación procesa datos que no controla, como respuestas de APIs externas. El aviso oficial solo describe la falla en una línea, así que conviene no suponer más de lo publicado. Hasta ahora no se han reportado ataques, pero la ventana entre parche y explotación suele ser corta.

Cómo actualizar

  1. Revisa tu versión: node -v en el servidor y, si usas contenedores, la etiqueta de tu imagen base.
  2. Instalación con nvm o fnm: nvm install 24 (o la línea que uses) y nvm alias default 24.
  3. Docker: actualiza FROM node:24 a una imagen reconstruida (node:24.22.1) y vuelve a construir sin caché.
  4. Plataformas administradas (Vercel, Railway, Render…): confirma que tu proyecto usa la última versión menor de tu línea; en la mayoría se fija en los ajustes del proyecto.
  5. Reinicia los procesos (PM2, systemd, contenedores). Un proceso ya en marcha sigue usando el binario viejo en memoria.
  6. Si usas snapshots de arranque o SEA (Single Executable Applications): vuelve a generarlos con la versión nueva por CVE-2026-106074; actualizar el binario no basta.
  7. Corre tus pruebas y revisa que npm audit no reporte nada adicional.

Si todavía estás en una línea sin soporte (por ejemplo Node 18 o 20), aprovecha para migrar a 24 LTS: el parche no llegará a esas versiones.

Qué revisar además

  • Que las llamadas salientes verifiquen siempre el certificado TLS y no desactiven la validación (rejectUnauthorized: false).
  • Que no uses el Permission Model como única barrera de seguridad mientras no actualices.
  • Que tu pipeline de CI instale una versión fijada y no «latest» sin control.

Referencias


¿Tu aplicación Node.js corre en un servidor que nadie revisa? En Codegea auditamos tu versión de Node, actualizamos y reconstruimos tu despliegue y dejamos mantenimiento y monitoreo continuo para que no dependas de enterarte por las noticias. Cuéntanos tu caso.

¿Compartir este artículo?LinkedInWhatsAppX

Escrito por

Derian Pinto

Founder & Full Stack Developer

Fundador de Codegea. Desarrolla sitios, tiendas y plataformas a medida, e integra y da soporte a Arc XP para medios.

Únete a nuestro boletín

Un correo con novedades y notas prácticas de web, SEO e IA. Sin spam, y te das de baja cuando quieras.

¿Montamos tu proyecto?

¿Necesitas ayuda? Chatea con nosotros