Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Brotli-Node.js-CVE-2026-111497-Broccoli2Shell-Node2Shell-HTTP2Shell- — Aviso y análisis de CVE-2026-111497, una escritura fuera de límites en el decodificador Brotli alcanzable mediante la descompresión HTTP de Node.js, con causa raíz, diff del parche, reglas de detección y mitigaciones. | Kitploit
Herramientas/GitHubGitHub/certbn/brotli-node.js-cve-2026-111497-broccoli2shell-node2shell-http2shell-
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónSeguridad WebInteligencia de AmenazasRespuesta a Incidentes
GitHubcertbn/brotli-node.js-cve-2026-111497-broccoli2shell-node2shell-http2shell-

Brotli-Node.js-CVE-2026-111497-Broccoli2Shell-Node2Shell-HTTP2Shell-

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Aviso y análisis de CVE-2026-111497, una escritura fuera de límites en el decodificador Brotli alcanzable mediante la descompresión HTTP de Node.js, con causa raíz, diff del parche, reglas de detección y mitigaciones.

Ver Repositorio
1hace 3 díasAún no revisado

CVE-2026-111497: Escritura fuera de límites en el decodificador Brotli de Google debido a la falta de verificación del valor de retorno del Block-Switch (Node2Shell / HTTP2Shell / Broccoli2Shell)

CVSS CVSS Type KEV

Fecha de última verificación: 2026-11-04 (KST). Solo se han incluido los valores confirmados en las fuentes de la sección References al final; cuando los valores difieren entre fuentes, se indican todos.

📌 TL;DR

  • Qué: El decodificador C de Google Brotli (c/dec/decode.c) ignora el valor de retorno de error de un cambio de bloque (block switch) incorrecto, continúa decodificando en estado corrupto y realiza una escritura fuera de los límites del búfer (Out-of-Bounds Write).
  • Dónde: Todo software que incluya Brotli 1.0.3 ~ 1.2.0 — Node.js (22/24/26 y líneas EOL), Python Brotli/brotlicffi, Bun, .NET, Envoy, Istio, etc. Se ve afectado si existe una ruta que descomprima (decompress) datos Content-Encoding: br controlados por el atacante.
  • Cuán peligroso es: Permite DoS, exposición de memoria y RCE de forma remota sin autenticación (CNA CVSS 4.0 9.2), y fue incluido en CISA KEV el 2026-10-27. Se requiere parcheo inmediato.

📋 Información básica

ElementoContenido
CVE IDCVE-2026-111497 (GHSA-9v8h-qqgm-4m35)
AliasNode2Shell (denominación de Imperva), HTTP2Shell, Broccoli2Shell. A pesar del nombre, no es un defecto del protocolo HTTP/2
Fecha de publicación2026-10-21 versión de seguridad de Node.js y versión parcheada de Brotli / 2026-10-22 publicación del registro CVE
DescubridoresOpenAI Codex Security (Khai Tran, Sylvie Mayer)
Productos/versiones afectadosGoogle Brotli (libbrotlidec) 1.0.3 ~ 1.2.0 y productos que lo incluyen/enlazan (véase la tabla siguiente)
Versiones parcheadasBrotli 1.0.10 / 1.1.1 / 1.2.1, Node.js 22.23.4 / 24.22.1 / 26.12.1, Python Brotli 1.2.1, brotlicffi 1.2.1.0, Bun 1.4.4
CVSS v4.0 (CNA: Google)9.2 Critical — CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CVSS v3.1 (NVD)9.8 Critical — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v3.1 (Red Hat / Amazon Linux)8.1 — CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (refleja el requisito de ataque AT:P y el hardening de la plataforma)
Clasificación del propio proveedorNode.js: High / Red Hat: Important
CWECWE-787 Out-of-bounds Write (NVD, Red Hat, Cyber Centre de Canadá) / CWE-252 Unchecked Return Value (descripción de CISA KEV, citado también como causa raíz en algunos análisis)
Explotación realExplotación confirmada. Inclusión en CISA KEV el 2026-10-27, plazo de acción para agencias federales 2026-11-10. Operadores de honeypot (Previdian, ELLIO) observaron intentos de explotación entre el 10-26 y el 10-27

Detalle del alcance de afectación

ComponenteVersiones afectadasVersiones corregidas
Google Brotli (C, libbrotlidec)1.0.3 ~ 1.2.01.0.10, 1.1.1, 1.2.1
Node.js 26.x (Current)anterior a 26.12.126.12.1
Node.js 24.x (LTS)anterior a 24.22.124.22.1
Node.js 22.x (LTS)anterior a 22.23.422.23.4
Node.js 25.x / 23.x / 20.x e inferiorestodas las versiones (EOL)sin parche → migrar a 22/24/26
Bun1.4.3 e inferiores1.4.4
Python Brotli (PyPI)1.2.0 e inferiores1.2.1
Python brotlicffianterior a 1.2.1.01.2.1.0
.NET / PowerShellvéase el aviso del proveedoractualización urgente de .NET de Microsoft (dotnet/announcements#494)
Envoy / Istiovéase el aviso del proveedorversión corregida distribuida a principios de octubre (sin especificar el defecto)
VMware SDDC Manager (VCF / vSphere Foundation)véase el aviso de Broadcomvéase el aviso de Broadcom

Rutas de exposición indirecta: Python requests, urllib3, aiohttp[speedups], httpx descomprimen automáticamente las respuestas br si Brotli/brotlicffi está instalado. curl también se ve afectado cuando se usa la opción de descompresión.

Fechas principales (2026)

FechaEvento
02-27Se aplica un commit de corrección en el repositorio google/brotli (marcado como problema de seguridad, no publicado)
Principios de octubreDistribución de versiones corregidas de Envoy / Istio
10-21Versión de seguridad de Node.js (22.23.4 / 24.22.1 / 26.12.1), publicación de Google Brotli 1.0.10 / 1.1.1 / 1.2.1
10-22Publicación del registro CVE, Imperva demuestra ejecución de código en Node.js 24.22.0 (Linux arm64)
10-23Distribución de paquetes PyPI parcheados
10-25Aviso y actualización de Microsoft .NET
10-26ELLIO reporta tráfico de explotación
10-27Inclusión en CISA KEV (plazo de acción 11-10)

⚠️ Algunos artículos de análisis escritos entre el 24 y el 28 de octubre indican "no se confirman ataques reales, no incluido en KEV", pero esto corresponde al momento previo a la inclusión en KEV, por lo que difiere de la situación actual.

🔍 Análisis de la causa de la vulnerabilidad (Root Cause)

1. Qué: el valor de retorno sobrecargado BROTLI_FALSE

La decodificación Brotli es una máquina de estados. El flujo se compone de unidades de metabloque, y dentro de cada metabloque aparecen instrucciones que cambian de tipo de bloque (block switch) para literales, comandos de inserción y copia (insert-and-copy command) y distancias.

DecodeBlockTypeAndLength() interpreta el cambio de bloque y devuelve BROTLI_BOOL. El problema es que BROTLI_FALSE se usó con dos significados completamente distintos.

SignificadoNaturalezaTratamiento correcto
Se necesita más entrada (needs more input)RecuperableEsperar la siguiente entrada y reanudar
El metabloque tiene solo 1 tipo de bloque, por lo que el cambio en sí es imposibleError de formato fatalRechazar el flujo

2. Por qué: el valor de retorno se ignora (CWE-252)

El lado llamador no verificó este valor de retorno.

  • El envoltorio de cambio de bloque del flujo de comandos (DecodeCommandBlockSwitch) está declarado como static void, por lo que no conserva el valor de retorno, y la rama non-safe de la macro BROTLI_SAFE solo llama a la función y descarta el resultado. (Análisis de SonicWall)
  • Otro análisis (Redfox) explica que en la ruta de cambio de bloque literal (DecodeLiteralBlockSwitch) el valor de retorno se descarta por completo. Aunque cada análisis señala funciones distintas, según la descripción del parche de la distribución (TuxCare), los tres decodificadores de cambio de bloque (literal, comando y distancia) fueron modificados para devolver códigos de error, por lo que se puede considerar que las tres rutas están relacionadas.

Como resultado, incluso si ocurre un error de formato, el decodificador continúa como si el cambio hubiera tenido éxito, el contador de longitud de bloque queda en 0 y el estado de posición·distancia se traslada a la ruta que debería haber sido rechazada.

3. Cómo: el estado corrupto conduce a una escritura fuera de límites (OOB Write) (CWE-787)

Descargar herramienta