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-42533 — Laboratório Docker que reproduz o CVE-2026-42533, um heap overflow pré-autenticação no nginx e vazamento de informações via clobbering de captura em duas passagens, com scripts PoC e comparação com a versão corrigida. | Kitploit
Ferramentas/GitHubGitHub/ivanesk315/cve-2026-42533
Scanners de VulnerabilidadesAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebFuzzingPapers e PesquisaAprendizado e EducaçãoLabs e Prática
GitHubivanesk315/cve-2026-42533

CVE-2026-42533

Laboratório Docker que reproduz o CVE-2026-42533, um heap overflow pré-autenticação no nginx e vazamento de informações via clobbering de captura em duas passagens, com scripts PoC e comparação com a versão corrigida.

há 0 diasAinda não revisado
Ver Repositório

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

Laboratório CVE-2026-42533 — RCE por Clobbering de Captura em Duas Passagens no NGINX

CVSS 9.2 (Crítico) — Heap buffer overflow pré-autenticação + vazamento de informações no nginx Afetado: nginx 0.9.6 – 1.30.3 / 1.31.2 | Corrigido: 1.30.4 / 1.31.3

Arquitetura

root@kitploit:~
                    ┌─────────────────────────────────────┐
                    │           Máquina host               │
                    │                                      │
  Scripts PoC ──────┤  :8080 ──► nginx-vuln  (1.26.x)     │
                    │              │          VULNERÁVEL   │
                    │              ▼                        │
                    │           backend (Python echo)       │
                    │              ▲                        │
                    │              │                        │
                    │  :8081 ──► nginx-patched (1.30.4)     │
                    │                          SEGURO       │
                    └─────────────────────────────────────┘

Início Rápido

root@kitploit:~
# Build and start
docker compose up --build -d

# Verify
curl http://localhost:8080/health
curl http://localhost:8081/health

# Run PoC
python3 poc_overflow.py          # Heap overflow (crash worker)
python3 poc_infoleak.py          # Info leak (heap residue)
bash poc_curl.sh                 # Quick curl-based tests

# Compare with patched
python3 poc_overflow.py localhost 8081
python3 poc_infoleak.py localhost 8081

# Check for crashes
docker logs nginx-vuln 2>&1 | grep -iE 'signal|segfault|abort'

# Cleanup
docker compose down

Mecanismo da Vulnerabilidade

Causa Raiz

O nginx avalia valores de diretivas (proxy_set_header, return, add_header, etc.) em duas passagens usando um array mutável compartilhado r->captures:

PassagemPropósitoLê r->captures
LENMede o tamanho do buffer necessárioSim — para obter o comprimento de $1
(o regex map é avaliado aqui, SOBRESCREVENDO r->captures)
VALUEEscreve dados no buffer alocadoSim — mas agora $1 aponta para outro lugar

Padrão de Configuração Vulnerável

root@kitploit:~
map $http_user_agent $is_bot {
    ~*(bot|crawl|spider)  1;         # ← regex map = clobber trigger
    default               0;
}

location ~ "^/api/v1/(.+)$" {       # ← regex capture source
    proxy_set_header X-Route "$1 — $is_bot";   # ← two-pass sink
    #                         ^^    ^^^^^^^
    #                  capture ref + map var in same buffer = BUG
}

Direções de Ataque

DireçãoTamanho da URITamanho da entrada do mapResultado
OverflowCurta (3 B)Longa (4096 B)LEN aloca pequeno, VALUE escreve grande → heap overflow
Vazamento de InformaçõesLonga (8000 B)Curta (5 B)LEN aloca grande, VALUE escreve pequeno → resíduo de heap na resposta

Cenários do Laboratório

EndpointSinkGatilho do MapDemonstração
/api/v1/{path}proxy_set_header$is_bot (User-Agent)Overflow
/leak/{path}return + add_header$ref_domain (Referer)Vazamento de informações
/rce/{path}set + return$is_bot (User-Agent)Overflow
/safe/{path}return (sem map)NenhumControle (seguro)

Arquivos

ArquivoPropósito
docker-compose.ymlOrquestração do laboratório
Dockerfile.nginx-vulnnginx 1.26.x vulnerável
Dockerfile.nginx-patchednginx 1.30.4 corrigido
nginx-vuln.confConfiguração vulnerável com padrões anotados
backend.pyServidor echo para inspecionar cabeçalhos proxiados
poc_overflow.pyPoC de heap overflow (tamanhos de payload escalonados)
poc_infoleak.pyPoC de vazamento de informações (detecção de resíduo de heap)
poc_curl.shTestes rápidos baseados em curl

Detecção

Use o scanner de configuração:

root@kitploit:~
python3 nginx_capture_clobber_scan.py /etc/nginx/nginx.conf

Mitigação (sem aplicar patch)

  1. Separe capturas de regex e variáveis de regex map em diretivas/locations diferentes
  2. Use capturas nomeadas e referencie-as apenas dentro do bloco que contém a correspondência regex
  3. Evite padrões regex ~ / ~* em map quando capturas forem usadas em outros lugares

Referências

  • Writeup do pesquisador (cyberstan.co.uk)
  • Entrada no NVD
  • Scanner de configuração
  • Aviso do nginx

APENAS PARA FINS EDUCACIONAIS E TESTES DE SEGURANÇA AUTORIZADOS.

Baixar ferramenta