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
CVE-2026-111497 — Kit de herramientas de aviso y prueba de concepto para CVE-2026-111497 (Node2Shell), un desbordamiento de montículo de Brotli en Node.js, con scripts de activación, verificador de versiones y guía de remediación. | Kitploit
Herramientas/GitHubGitHub/0xblackash/cve-2026-111497
Herramientas DefensivasEscáneres de VulnerabilidadesGeneración de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónHerramienta de Acceso Remoto
GitHub0xblackash/cve-2026-111497

CVE-2026-111497

15hace 1 díaAún no revisado

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 →

Kit de herramientas de aviso y prueba de concepto para CVE-2026-111497 (Node2Shell), un desbordamiento de montículo de Brotli en Node.js, con scripts de activación, verificador de versiones y guía de remediación.

Ver Repositorio
Compartir

CVE-2026-111497 — Node2Shell

Gemini_Generated_Image_i7ii2oi7ii2oi7ii

CVE Badge CVSS Badge Component Badge CWE Badge License

Aviso de seguridad integral, análisis técnico y guía de remediación para CVE-2026-111497

---

📋 Tabla de contenidos

  • Resumen ejecutivo
  • Análisis técnico en profundidad
    • Análisis de la causa raíz
    • Vectores de ataque
    • Evaluación del impacto
  • Versiones afectadas y corregidas
  • Detección y auditoría
  • Remediación y parcheo
    • Actualización del runtime nativo
    • Corrección de la capa Docker / contenedor
  • Estrategias de mitigación
  • Referencias y recursos
  • Descargo de responsabilidad

📌 Resumen ejecutivo

Divulgada en octubre de 2026, Node2Shell (CVE-2026-111497) es una vulnerabilidad de seguridad crítica que afecta al componente nativo de descompresión Brotli incluido directamente en el binario del runtime de Node.js.

La falla permite a atacantes remotos ejecutar código arbitrario o provocar el bloqueo de la aplicación mediante el envío de flujos de bytes comprimidos con Brotli especialmente manipulados y malformados a cualquier aplicación Node.js que procese entrada comprimida (por ejemplo, analizadores del cuerpo de solicitudes HTTP, llamadas nativas a fetch() o flujos WebSocket).

⚠️ NOTA CRÍTICA: Dado que el código vulnerable reside dentro de deps/brotli, compilado en el propio ejecutable de Node.js, actualizar las dependencias de npm en el espacio de usuario no mitigará esta vulnerabilidad. Es necesario actualizar el runtime binario de Node.js.


⚙️ Análisis técnico en profundidad

Análisis de la causa raíz

  • Tipo de falla: Escritura fuera de límites (CWE-787) resultante de un valor de retorno no verificado (CWE-252).
  • Componente vulnerable: Módulo decodificador Brotli de Google upstream integrado en Node.js (deps/brotli).
  • Mecanismo: Al descomprimir un flujo malformado, el decodificador no valida correctamente las condiciones de límite durante las transiciones de estado del flujo. Esto provoca la corrupción del búfer de heap más allá del espacio de memoria preasignado.

Vectores de ataque

  1. Solicitudes HTTP entrantes: Frameworks y middleware (por ejemplo, Express, Fastify) configurados con descompresión automática del cuerpo (Content-Encoding: br).
  2. API Fetch saliente / entrante: fetch() nativo que procesa respuestas automatizadas de endpoints de terceros no confiables que sirven contenido comprimido.
  3. Pipelines de flujos internos: Flujos personalizados de Node.js que utilizan zlib.createBrotliDecompress().

Evaluación del impacto

  • Denegación de servicio (DoS): Ejecución fiable de fallos de segmentación (SIGSEGV) que provocan el bloqueo inmediato de los procesos worker.
  • Divulgación de información: Lecturas de heap no controladas que exponen tokens sensibles o variables de entorno almacenadas en la memoria del proceso.
  • Ejecución remota de código (RCE): Corrupción de memoria del heap demostrada que conduce al control total del flujo de ejecución del proceso en despliegues estándar de contenedores sin modificar.

📊 Versiones afectadas y corregidas

Línea de versión de Node.jsEstadoVersión corregidaAcción requerida
Node.js 26.x⚠️ Vulnerable>= 26.12.1Actualizar inmediatamente
Node.js 24.x⚠️ Vulnerable>= 24.22.1Actualizar inmediatamente
Node.js 22.x (LTS)⚠️ Vulnerable>= 22.23.4Actualizar inmediatamente
Node.js 20.x y anteriores❌ EOLNingunaMigrar inmediatamente a una LTS compatible

🚨 Alerta de EOL: Node.js 20 alcanzó el fin de vida (EOL) en abril de 2026. No hay backports de seguridad oficiales disponibles para las versiones EOL.


Script de verificación segura

Esto es exactamente lo que deberías ver cuando el verificador seguro funciona correctamente.

1. Node.js parcheado / corregido (buen resultado)

$ node node2shell-check.js
=== Node2Shell (CVE-2026-111497) Safe Checker ===
Local version + constant probe only. No network, no payloads.

Current Node.js version : v24.22.1
Brotli constant present : yes (-17) → patched decoder

───────────────────────────────────────────────────────
Verdict: PATCHED
You are running a fixed release of the 24.x line.

Additional notes:
• The constant check is the most reliable signal when Node.js ships
  its own (statically linked) Brotli. On some Linux distros Node may
  use the system libbrotli – then you must also check the system package.
• Updating npm packages alone does NOT fix this issue.
• After upgrading, restart every Node.js process / container.
• Official fixed versions: 22.23.4 · 24.22.1 · 26.12.1

2. Node.js vulnerable (mal resultado)

$ node node2shell-check.js
=== Node2Shell (CVE-2026-111497) Safe Checker ===
Local version + constant probe only. No network, no payloads.

Current Node.js version : v24.22.0
Brotli constant present : no / missing → likely vulnerable decoder

───────────────────────────────────────────────────────
Verdict: VULNERABLE
Upgrade to Node.js 24.22.1 or later in the 24.x line.

Additional notes:
• The constant check is the most reliable signal when Node.js ships
  its own (statically linked) Brotli. On some Linux distros Node may
  use the system libbrotli – then you must also check the system package.
• Updating npm packages alone does NOT fix this issue.
• After upgrading, restart every Node.js process / container.
• Official fixed versions: 22.23.4 · 24.22.1 · 26.12.1

3. Versión al final de su vida útil (también vulnerable)

Current Node.js version : v20.18.0
Brotli constant present : no / missing → likely vulnerable decoder

Verdict: VULNERABLE (EOL / UNSUPPORTED)
This release line is end-of-life or never received the security fix.
Migrate to a supported LTS line (22.x, 24.x or 26.x) and use a patched version.

Forma rápida de confirmar la constante por ti mismo

También puedes ejecutar este one-liner:

node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH ?? 'missing'"
  • Devuelve -17 → parcheado
  • Devuelve missing → vulnerable

Esa es la misma comprobación que utiliza el script.


Configuración del laboratorio

# Python dependencies
pip install requests brotli

# Node server (webhook injection + eval paths)
npm install
node server-stock.js       # port 3000

Uso

Descargar herramienta