Logotipo de YuSMP Group
Equipo editorial de YuSMP Group Equipo editorial, YuSMP Group
Ilustración isométrica de un cubo de datos comprimidos que llega por un cable de red a unos racks de servidores, con un técnico colocando un parche metálico sobre una grieta luminosa en uno de los servidores

En pocas palabras

CVE-2026-111497 es una escritura fuera de límites crítica (CVSS 4.0: 9.2) en el decodificador Brotli, versiones 1.0.3 a 1.2.0, y ya hay correcciones para Node.js, .NET, Python, Bun y Envoy. Un flujo comprimido manipulado puede bloquear un proceso, filtrar memoria o, en algunas configuraciones, ejecutar código. Si sus servicios Node.js, aplicaciones Python o API de ASP.NET Core descomprimen datos de usuarios o de servidores de terceros, actualice primero el runtime y después busque copias de Brotli integradas en otro software.

¿Qué es la vulnerabilidad HTTP2Shell de Brotli?

Brotli es un formato de compresión creado por Google y utilizado en toda la web para respuestas HTTP, formatos de archivo y pipelines de datos. El fallo está en la forma en que el decodificador gestiona los cambios de bloque. Según el aviso de Node.js, un cambio de bloque no válido se notificaba como una necesidad temporal de más datos de entrada en lugar de como un error de formato permanente, de modo que el decodificador de streaming seguía escribiendo los bytes entrantes en un búfer interno de ocho bytes y más allá de su final. Un atacante que pueda enviar datos Brotli a una aplicación puede corromper la memoria del proceso. El resultado puede ser un bloqueo, una fuga de memoria del proceso o la ejecución remota de código.

El fallo lo notificaron Khai Tran y Sylvie Mayer, de OpenAI Codex Security, y en Node.js lo corrigieron Matteo Collina y Antoine du Hamel. Según iTnews, el cambio de código subyacente se incorporó al código fuente de Brotli en febrero de 2026, pero no se reconoció como corrección de seguridad y no llegó a una versión de Brotli hasta octubre. El nombre cambió a medida que crecía el alcance: Node2Shell para Node.js y luego HTTP2Shell, cuando los investigadores confirmaron que también estaban expuestas bibliotecas HTTP y aplicaciones en otros lenguajes.

¿Qué runtimes y productos están afectados?

Está afectado cualquier software que incluya Brotli 1.0.3 a 1.2.0 y descomprima entradas no fiables. Estas correcciones están confirmadas por los fabricantes o los mantenedores de los paquetes:

  • Node.js: 22.23.4, 24.22.1 y 26.12.1 (21 de octubre). El fallo es accesible a través de node:zlib.
  • .NET: 8.0.33, 9.0.22 y 10.0.14, además de 11.0.0-rc.3, publicadas fuera de ciclo el 25 de octubre para .NET y ASP.NET Core.
  • Python: Brotli 1.2.1 y brotlicffi 1.2.1.0 en PyPI.
  • Bun: 1.4.4. Envoy: 1.40.0, 1.39.3, 1.38.6 o 1.37.8 si la descompresión Brotli está activada.

La parte más difícil es el software que integra su propia copia del decodificador. Los investigadores de seguridad e iTnews citan ejemplos como bases de datos, bibliotecas de datos, aplicaciones de escritorio basadas en Electron, herramientas de PDF y de archivos comprimidos, y runtimes de lenguajes como PHP y Ruby. El estado de los parches varía según el fabricante, así que consulte el aviso de cada producto en lugar de dar por hecho que está afectado o que es seguro.

Qué significa para los equipos de software de EE. UU. y la UE

En primer lugar, el ataque funciona en ambas direcciones. Un servidor que acepta cuerpos de solicitud o subidas codificados con Brotli puede ser atacado por un cliente malicioso. Un servicio que llama a API de terceros o hace scraping de la web puede ser atacado por un servidor malicioso, porque los clientes HTTP suelen descomprimir las respuestas automáticamente. Los equipos suelen pensar solo en los endpoints públicos. Las integraciones salientes, los consumidores de webhooks y los procesos de ingesta de datos también deben figurar en la lista de parches.

En segundo lugar, su lockfile no es su inventario. pip-audit de Python y npm audit señalarán los paquetes de PyPI y el runtime de Node.js, pero un decodificador compilado en un binario o en una imagen base de contenedor nunca aparece como dependencia. Aquí es donde rinden una lista de materiales de software (SBOM) y el escaneo de imágenes de contenedores. Los equipos de finanzas y salud que informan a los reguladores en virtud de DORA, NIS2 o las normas de seguridad de HIPAA deberían registrar cuándo detectaron la exposición y cuándo aplicaron el parche, porque los auditores lo preguntarán.

En tercer lugar, la búsqueda de fallos impulsada por IA está acelerando las divulgaciones. Este fallo, como los fallos PHP2Shell de principios de este mes, lo encontró una herramienta de seguridad basada en IA. Cabe esperar más hallazgos críticos en bibliotecas antiguas y muy compartidas, así que planifique su proceso de parcheo en días, no en ventanas de mantenimiento trimestrales. Qué significa para el mercado español: las empresas en España deberían aplicar los parches siguiendo los avisos de INCIBE-CERT y CCN-CERT. Las organizaciones sujetas al ENS (Esquema Nacional de Seguridad) deben documentar la aplicación de parches y mantener un inventario de componentes que incluya las copias integradas de Brotli. Además, las entidades incluidas en el ámbito de la directiva europea de ciberseguridad NIS deben tener en cuenta sus obligaciones de notificación de incidentes si la vulnerabilidad llega a explotarse.

¿Qué deberían parchear primero los equipos?

  1. Runtimes expuestos a Internet. Actualice Node.js, .NET y Bun en cualquier servicio que acepte cuerpos de solicitud comprimidos o subidas.
  2. Entornos de Python. Ejecute pip show Brotli brotlicffi en cada entorno e imagen, y fije la versión 1.2.1 o posterior.
  3. Proxies y gateways. Actualice Envoy y compruebe el estado que indica el fabricante de cualquier balanceador de carga o API gateway que descomprima tráfico.
  4. Clientes salientes. Aplique el parche a los servicios que obtienen contenido de terceros, hacen scraping de la web o consumen webhooks.
  5. Reconstruya los contenedores. Descargue imágenes base corregidas y vuelva a compilarlas, porque parchear el host no corrige la imagen.
  6. Localice las copias integradas. Busque en los SBOM y en los binarios las versiones de Brotli de la 1.0.3 a la 1.2.0 y siga los avisos de los fabricantes sobre las copias embebidas.
  7. Vigile los fallos. Configure alertas ante reinicios inesperados de los servicios que descomprimen datos. Los fallos repetidos pueden ser la primera señal de intentos de explotación.

Preguntas frecuentes

¿Qué es HTTP2Shell (CVE-2026-111497)?

HTTP2Shell es el sobrenombre de CVE-2026-111497, una escritura fuera de límites en el decodificador Brotli de Google, versiones 1.0.3 a 1.2.0. Un flujo comprimido con Brotli especialmente diseñado puede corromper la memoria del proceso que lo descomprime, lo que puede provocar un fallo, filtrar memoria o, en algunas configuraciones, permitir la ejecución remota de código. Primero se llamó Node2Shell porque Node.js fue el primer gran runtime en publicar una corrección, el 21 de octubre de 2026. Tiene una puntuación CVSS 4.0 de 9.2.

¿Qué versiones corrigen la vulnerabilidad de Brotli?

Node.js 22.23.4, 24.22.1 y 26.12.1; .NET 8.0.33, 9.0.22 y 10.0.14 (publicadas el 25 de octubre de 2026); el paquete Brotli de Python 1.2.1 y brotlicffi 1.2.1.0; Bun 1.4.4; y Envoy 1.40.0, 1.39.3, 1.38.6 o 1.37.8. El software que compila Brotli desde el código fuente necesita una versión de Brotli que incluya la corrección, como la 1.2.1.

¿Está afectada mi aplicación si solo uso Brotli para comprimir?

El fallo está en el decodificador, así que el riesgo proviene de descomprimir datos Brotli que usted no controla. Eso incluye los servidores que aceptan cuerpos de solicitud o subidas codificados con Brotli y los clientes que descomprimen respuestas de servidores de terceros. Comprimir sus propias respuestas no es la vía de ataque, pero conviene actualizar igualmente los runtimes, porque el decodificador se distribuye en el mismo paquete.

¿Por qué los escáneres de dependencias pasan por alto algunas copias vulnerables?

Los escáneres leen los lockfiles de paquetes y las bases de datos de avisos. Muchos productos compilan Brotli directamente en sus binarios o vendorizan su código fuente, por lo que no aparece ninguna entrada de paquete para él. Esas copias solo se corrigen cuando el fabricante publica una nueva compilación, así que necesita avisos de los fabricantes, escaneos de imágenes de contenedores y listas de materiales de software (SBOM), no solo una comprobación del lockfile.

Fuentes

Node.js — Wednesday, October 21, 2026 Security Releases (en inglés; fuente primaria)
Microsoft .NET — October 2026 out-of-band security updates (en inglés; fuente primaria, 25 de octubre de 2026)
The Hacker News — Brotli decoder flaw behind Node.js RCE also affects Bun, Python and other widely used software (en inglés)
iTnews — Node2Shell flaw embedded in apps and dev tools far beyond Node.js (en inglés; 25 de octubre de 2026)
Aikido Security — Python packages vulnerable to the Brotli flaw (en inglés; versiones corregidas para Python, Bun y Envoy)