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-94300 — PoC autocontido e análise para CVE-2026-94300, um use-after-free de GSS-TSIG no BIND 9.20.29, com um modelo assistido por depurador da cadeia de vazamento até execução de código. | Kitploit
Ferramentas/GitHubGitHub/ibonok/cve-2026-94300
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoDepuradoresPapers e PesquisaAnálise de DNSExploração de Binários
GitHubibonok/cve-2026-94300

CVE-2026-94300

PoC autocontido e análise para CVE-2026-94300, um use-after-free de GSS-TSIG no BIND 9.20.29, com um modelo assistido por depurador da cadeia de vazamento até execução de código.

Ver Repositório
1há 13 diasAinda 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-94300 — PoC: Vazamento (docker logs) → Model-RCE

Nota: Esta análise e PoC foram produzidos substancialmente com assistência de IA ("remendo de IA"). Toda afirmação sobre código, diff e medição deve ser verificada contra as fontes citadas antes de ser utilizada.

Pasta PoC autocontida para a cadeia de exploração da CVE-2026-94300 (BIND 9.20.29 com GSS-TSIG, krb5 1.20.1, jemalloc 5.3.0).

O que está comprovado aqui: Um conjunto de endereços vazado (aqui a partir do gdb) é suficiente para construir execução de código no processo named a partir das primitivas medidas. O exploit consome o vazamento de docker logs; ele não contém literais de endereço.

O que é explicitamente um modelo aqui (e declarado como tal no relatório):

SuposiçãoMotivo
Vazamento a partir do gdbA CVE não possui primitiva de vazamento de informação; um vazamento real teria que vir de outro bug
ASLR desativado (setarch -R)sem um vazamento não há endereços de heap/código
Controle de conteúdo de objeto injetado via gdba recuperação do slot de 8 bytes liberado não teve sucesso no caminho real com os meios examinados aqui (4,7M tentativas, 0 acertos) — um obstáculo documentado, não uma prova de impossibilidade

Nenhum RCE remoto demonstrado e nenhuma persistência. O comando é fornecido via --cmd no exploit: host/exploit.py o entrega pelo canal de controle do Docker (docker exec, a mesma autoridade que o operador já possui) para dentro do contêiner; o exploit em si envia apenas os endereços vazados e o pacote capturado. O payload adicionalmente escreve a linha RCE-PROOF (para verificação) e encerra o named.

Arquitetura

sequenceDiagram
    participant R as Researcher (host)
    participant V as Container: named 9.20.29 + gdb
    participant L as docker logs
    R->>V: docker run -p 127.0.0.1:15353:53/udp
    V->>V: TKEY capture (no send), gdb breaks on dns_db_currentversion
    V->>L: LEAK: db=…, methods=…, heap=…, wire_b64=… (sha256)
    V->>V: model armed, waits for host replay
    R->>L: read docker logs + validate (11 checks)
    R->>V: docker exec: --cmd to /tmp/rce-payload-cmd
    R->>V: UDP replay of the leaked signed packet to 15353
    V->>V: krb5_k_free_key → free(db) → reclaim → fake dns_db_t
    V->>V: dns_db_currentversion → jmp *methods+0x30 → payload
    R->>V: docker exec cat /tmp/rce-proof

Arquivos

CaminhoFinalidade
docker/DockerfileImagem da vítima: BIND 9.20.29 do tarball do ISC + gdb + KDC + drivers do laboratório
etc/krb5.conf, kdc.conf, named.conf, zona (copiados para /etc pela imagem)
host/exploit.pyExploit do host: lê docker logs, valida, reproduz via UDP, verifica o marcador
lab/rce_victim.shDriver no contêiner: named sob gdb, captura sem envio, vazamento, espera
lab/rce_model.pyModelo gdb: breakpoints, bloco de vazamento, arming, observação do dispatch
lab/rce_leak.pyEstágio de vazamento: endereços + wire_b64 → stdout/arquivo
lab/rce_exploit.pyEstágio de exploit no contêiner: constrói objeto falso a partir do vazamento, reclaim, dispatch
lab/rce_shim.cShim de página fixa: tabela falsa, template falso de dns_db_t, payload
lab/replay-lab.pyCaptura TKEY (--no-send)
lab/gss_context_lab.pyAuxiliar de contexto GSS para a captura
lab/start.sh, lab/named.replay.confBootstrap de KDC/keytab/zona, configuração do named
RACE.mdExplicação da corrida no contexto GSS-TSIG compartilhado: compartilhamento, acessos, gatilho, medições, escopo
VERIFY.mdVerificação das três alegações contra o diff do código-fonte 9.20.29 → 9.20.30 (bloqueio GSS-TSIG, dump destrutivo do keyring, escopo do RCE)
EXPLOIT.mdDescrição do exploit com evidências de código e Mermaid
USAGE.mdBuild, execução, saídas esperadas, solução de problemas
ANAYLSE.mdAdendo de divulgação pronto para publicação (reconciliação de impacto DoS vs. potencial RCE, versões afetadas, mitigação, detecção) — sem primitivas de exploit
ANALYZE.mdVersão em inglês do adendo de divulgação

(Este arquivo é o README.md; os outros documentos do PoC também existem como RACE.md, VERIFY.md, EXPLOIT.md, USAGE.md.)

Pré-requisitos

Apenas Docker + internet no momento do build. A imagem compila o BIND 9.20.29 a partir do tarball oficial do ISC (https://downloads.isc.org/isc/bind9/9.20.29/bind-9.20.29.tar.xz, SHA-256 fixado), com --with-gssapi=yes, e instala gdb, o KDC do MIT Kerberos e os drivers do laboratório. Nenhum BIND da distro, nenhuma imagem base pré-construída necessária.

A imagem contém uma identidade KDC descartável [email protected] (senha attacker, realm EXAMPLE.TEST, KDC em 127.0.0.1:88 apenas no contêiner) — exclusivamente para este laboratório, não para testes GSS-TSIG contra outros servidores; não retire o keytab do contêiner.

Início rápido

cd poc/CVE-2026-94300-poc
docker build -f docker/Dockerfile -t cve-2026-94300-victim .

# Terminal 1: container
docker run --rm --name cve-2026-94300-victim \
    -p 127.0.0.1:15353:53/udp \
    --security-opt seccomp=unconfined \
    cve-2026-94300-victim            # prints the LEAK block to stdout

# Terminal 2: exploit from the host, target + command as arguments
python3 host/exploit.py --ip 127.0.0.1 --port 15353 --cmd 'id > /tmp/bla'
docker exec cve-2026-94300-victim cat /tmp/bla      # uid=0(root) …

Esperado (trecho):

LEAK: db=0x7ffff6901c00
LEAK: db_methods=0x7ffff7c497c0
LEAK: payload=0x7ffff7fbe37b
LEAK: wire_len=3907
HOST-EXPLOIT-VALIDATE OK checks=11
HOST-EXPLOIT-REPLAY target=127.0.0.1:15353 bytes=3907
RCE-DISPATCH-INDIRECT target=0x7ffff7fbe37b (rce_payload) match=YES
RCE-PAYLOAD-EXECUTED RCE-PROOF pid=… uid=0 euid=0 db=0x7ffff6901c00
HOST-EXPLOIT-VERDICT payload_executed=YES marker=YES

Classificação

Frase de advertência: O ISC classifica a CVE-2026-94300 como remota, Alta, CVSS 8.1 (AC:H) com potencial execução de código. O que está estabelecido de forma pública/reproduzível é uma corrupção de memória sem credenciais, acionada por replay (use-after-free/double-free) no contexto GSS-TSIG compartilhado — classe de DoS a corrupção de heap. Um caminho para execução de código até agora só foi demonstrado sob premissas de modelo assistidas por depurador (ASLR desativado, endereços/conteúdo de objetos injetados); nenhum RCE remoto demonstrado existe.

Estabelecido: dado um vazamento, o RCE decorre no processo alvo. Não estabelecido: um ataque remoto sem vazamento e sem gdb — a primitiva de vazamento de informações e a etapa de recuperação alcançada estão faltando para isso. Este é um conjunto documentado de obstáculos, não uma prova de impossibilidade; o ISC trata a classe de execução de código como potencial. A base do código (bug de sincronização, dump destrutivo, o que o patch corrige e o que não corrige) é verificada em VERIFY.md contra o diff das duas árvores; como a corrida funciona tecnicamente está em RACE.md. Detalhes do exploit e evidências de código: EXPLOIT.md, execução e opções: USAGE.md. Divulgação pronta para publicação: ANALYZE.md.

Baixar ferramenta