Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-111497 — Kit de ferramentas de advisory e prova de conceito para CVE-2026-111497 (Node2Shell), um heap overflow de Brotli no Node.js, com scripts de acionamento, verificador de versão e orientações de remediação. | Kitploit
Ferramentas/GitHubGitHub/0xblackash/cve-2026-111497
Ferramentas DefensivasScanners de VulnerabilidadesGeração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoFerramenta de Acesso Remoto
GitHub0xblackash/cve-2026-111497

CVE-2026-111497

15há 1 diaAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Kit de ferramentas de advisory e prova de conceito para CVE-2026-111497 (Node2Shell), um heap overflow de Brotli no Node.js, com scripts de acionamento, verificador de versão e orientações de remediação.

Ver Repositório
Compartilhar

CVE-2026-111497 — Node2Shell

Gemini_Generated_Image_i7ii2oi7ii2oi7ii

CVE Badge CVSS Badge Component Badge CWE Badge License

Aviso de Segurança Abrangente, Análise Técnica e Guia de Remediação para CVE-2026-111497

---

📋 Índice

  • Resumo Executivo
  • Análise Técnica Aprofundada
    • Análise da Causa Raiz
    • Vetores de Ataque
    • Avaliação de Impacto
  • Versões Afetadas e Corrigidas
  • Detecção e Auditoria
  • Remediação e Correção
    • Atualização do Runtime Nativo
    • Correção da Camada Docker / Container
  • Estratégias de Mitigação
  • Referências e Recursos
  • Aviso Legal

📌 Resumo Executivo

Divulgada em outubro de 2026, a Node2Shell (CVE-2026-111497) é uma vulnerabilidade de segurança crítica que afeta o componente nativo de descompressão Brotli incluído diretamente no binário do runtime Node.js.

A falha permite que atacantes remotos executem código arbitrário ou derrubem a aplicação ao enviar fluxos de bytes comprimidos com Brotli especialmente criados e malformados para qualquer aplicação Node.js que processe entrada comprimida (por exemplo, parsers de corpo de requisições HTTP, chamadas nativas fetch() ou fluxos WebSocket).

⚠️ NOTA CRÍTICA: Como o código vulnerável reside em deps/brotli, compilado dentro do próprio executável do Node.js, atualizar as dependências npm do espaço do usuário não mitigará esta vulnerabilidade. O runtime binário do Node.js precisa ser atualizado.


⚙️ Análise Técnica Aprofundada

Análise da Causa Raiz

  • Tipo de Falha: Gravação Fora dos Limites (CWE-787) resultante de um Valor de Retorno Não Verificado (CWE-252).
  • Componente Vulnerável: Módulo decodificador Brotli do Google upstream integrado ao Node.js (deps/brotli).
  • Mecanismo: Ao descomprimir um fluxo malformado, o decodificador falha em validar adequadamente as condições de limite durante as transições de estado do fluxo. Isso leva à corrupção do heap-buffer além do espaço de memória pré-alocado.

Vetores de Ataque

  1. Requisições HTTP de Entrada: Frameworks e middlewares (por exemplo, Express, Fastify) configurados com descompressão automática de corpo (Content-Encoding: br).
  2. API Fetch de Saída / Entrada: fetch() nativo processando respostas automatizadas de endpoints de terceiros não confiáveis que servem conteúdo comprimido.
  3. Pipelines de Fluxo Internos: Fluxos Node.js personalizados que utilizam zlib.createBrotliDecompress().

Avaliação de Impacto

  • Negação de Serviço (DoS): Execução confiável de falhas de segmentação (SIGSEGV), fazendo com que os processos de trabalho travem imediatamente.
  • Divulgação de Informações: Leituras descontroladas do heap expondo tokens sensíveis ou variáveis de ambiente armazenadas em cache na memória do processo.
  • Execução Remota de Código (RCE): Corrupção de memória do heap demonstrada, levando ao controle total do fluxo de execução do processo em implantações padrão de containers não modificados.

📊 Versões Afetadas e Corrigidas

Linha de Lançamento do Node.jsEstadoVersão CorrigidaAção Necessária
Node.js 26.x⚠️ Vulnerável>= 26.12.1Atualizar imediatamente
Node.js 24.x⚠️ Vulnerável>= 24.22.1Atualizar imediatamente
Node.js 22.x (LTS)⚠️ Vulnerável>= 22.23.4Atualizar imediatamente
Node.js 20.x e anteriores❌ EOLNenhumaMigrar imediatamente para uma LTS suportada

🚨 Alerta de EOL: O Node.js 20 atingiu o Fim de Vida (EOL) em abril de 2026. Backports de segurança oficiais não estão disponíveis para versões EOL.


Script de Verificação Segura

Eis exatamente o que você deve ver quando o verificador seguro funciona corretamente.

1. Node.js Corrigido / Atualizado (bom 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 vulnerável (resultado ruim)

$ 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. Versão em fim de vida (também vulnerável)

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.

Maneira rápida de confirmar a constante por conta própria

Você também pode executar este one-liner:

node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH ?? 'missing'"
  • Retorna -17 → corrigido
  • Retorna missing → vulnerável

Essa é a mesma verificação que o script utiliza.


Configuração do laboratório

# Python dependencies
pip install requests brotli

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

Uso

# Real CVE trigger — hang a Node.js HTTP server (Content-Encoding: br)
python3 Node2Shell.py -u http://TARGET:3000 --hang --path /api/data --timeout 10
Baixar ferramenta