Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-21710 — Prova de conceito de exploit para CVE-2026-21710, uma falha no tratamento de requisições HTTP do Node.js que causa um TypeError não capturado por meio do cabeçalho __proto__, levando à negação de serviço. | Kitploit
Ferramentas/GitHubGitHub/open-flaw/cve-2026-21710
Análise de VulnerabilidadesExploraçãoExploração de Aplicações Web
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

Prova de conceito de exploit para CVE-2026-21710, uma falha no tratamento de requisições HTTP do Node.js que causa um TypeError não capturado por meio do cabeçalho __proto__, levando à negação de serviço.

Ver Repositório
há 4 mesesAinda 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 →
Compartilhar

CVE-2026-21710 — DoS no req.headersDistinct do Node.js

Resumo

CampoValor
ID CVECVE-2026-21710
Publicado2026-03-30
CVSS v3.17.5 ALTA (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — Alocação de Recursos Sem Limites ou Limitação
AfetadosNode.js 20.x, 22.x, 24.x, 25.x
Corrigido emLançamentos de Segurança de Março de 2026

Descrição

Uma falha no tratamento de requisições HTTP do Node.js causa um TypeError não capturado quando uma requisição é recebida com um cabeçalho chamado __proto__ e a aplicação acessa req.headersDistinct.

dest["__proto__"] resolve para Object.prototype em vez de undefined, fazendo com que .push() seja chamado em um não-array. Essa exceção é lançada sincronamente dentro de um getter de propriedade e não pode ser interceptada por listeners do evento error — ela não pode ser tratada sem envolver cada acesso a req.headersDistinct em um try/catch.

Causa Raiz

O getter headersDistinct acumula valores de cabeçalhos em um objeto simples:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

Quando name === "__proto__":

  • dest["__proto__"] retorna Object.prototype (truthy, não undefined)
  • A inicialização || [] é ignorada
  • .push(value) é chamado em Object.prototype → TypeError: dest[name].push is not a function
  • O lançamento síncrono escapa do limite de erros do event-loop e derruba o processo

Arquivos

ArquivoDescrição
server.jsServidor HTTP vulnerável (acessa req.headersDistinct diretamente)
poc.jsExploit de prova de conceito

Uso

Apenas para pesquisa de segurança autorizada / divulgação responsável.

Iniciar o servidor vulnerável

root@kitploit:~
node server.js
# Ouvindo em http://127.0.0.1:3000

Executar o POC

root@kitploit:~
node poc.js

Saída esperada:

  1. Passo 1 — requisição normal é bem-sucedida (HTTP 200).
  2. Passo 2 — o cabeçalho __proto__ é enviado; o servidor trava com um TypeError não capturado.
  3. Passo 3 — a requisição seguinte recebe um erro de conexão, confirmando a queda.

Referências

  • NVD — CVE-2026-21710
  • Lançamentos de Segurança de Março de 2026 do Node.js
Baixar ferramenta