Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-94300 — PoC autonomo e analisi per CVE-2026-94300, un use-after-free in GSS-TSIG in BIND 9.20.29, con un modello assistito da debugger della catena che va dalla fuga di memoria all'esecuzione di codice. | Kitploit
Strumenti/GitHubGitHub/ibonok/cve-2026-94300
Memory ForensicsAnalisi delle VulnerabilitàExploitDebuggerPaper e RicercaAnalisi DNSBinary Exploitation
GitHubibonok/cve-2026-94300

CVE-2026-94300

PoC autonomo e analisi per CVE-2026-94300, un use-after-free in GSS-TSIG in BIND 9.20.29, con un modello assistito da debugger della catena che va dalla fuga di memoria all'esecuzione di codice.

Vedi Repository
314 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-94300 — PoC: Leak (docker logs) → Model-RCE

Nota: questa analisi e il PoC sono stati prodotti in larga misura con l'assistenza dell'IA ("AI patchwork"). Ogni affermazione su codice, diff e misurazioni dovrebbe essere verificata rispetto alle fonti citate prima di essere considerata attendibile.

Cartella PoC autonoma per la catena di sfruttamento di CVE-2026-94300 (BIND 9.20.29 con GSS-TSIG, krb5 1.20.1, jemalloc 5.3.0).

Cosa è dimostrato qui: un insieme di indirizzi divulgato (qui da gdb) è sufficiente per costruire l'esecuzione di codice nel processo named a partire dalle primitive misurate. L'exploit consuma il leak da docker logs; non contiene alcun indirizzo letterale.

Cosa è esplicitamente un modello (e dichiarato come tale nel report):

IpotesiMotivo
Leak da gdbLa CVE non ha una primitiva di info-leak; un leak reale dovrebbe provenire da un altro bug
ASLR disattivato (setarch -R)senza un leak non ci sono indirizzi heap/codice
Controllo del contenuto degli oggetti iniettato tramite gdbil reclaim dello slot da 8 byte liberato non è riuscito nel percorso reale con i mezzi esaminati qui (4,7M tentativi, 0 successi) — un ostacolo documentato, non una prova di impossibilità

Nessun RCE remoto dimostrato e nessuna persistenza. Il comando viene fornito tramite --cmd sull'exploit: host/exploit.py lo consegna attraverso il canale di controllo Docker (docker exec, la stessa autorità che l'operatore già possiede) nel container; l'exploit stesso invia solo gli indirizzi divulgati e il pacchetto catturato. Il payload scrive inoltre la riga RCE-PROOF (per verifica) e termina named.

Architettura

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

File

PercorsoScopo
docker/DockerfileImmagine vittima: BIND 9.20.29 dal tarball ISC + gdb + KDC + driver del lab
etc/krb5.conf, kdc.conf, named.conf, zona (copiati in /etc dall'immagine)
host/exploit.pyExploit host: legge docker logs, valida, riproduce via UDP, verifica il marker
lab/rce_victim.shDriver nel container: named sotto gdb, cattura senza invio, leak, attesa
lab/rce_model.pyModello gdb: breakpoint, blocco di leak, arming, osservazione del dispatch
lab/rce_leak.pyFase di leak: indirizzi + wire_b64 → stdout/file
lab/rce_exploit.pyFase di exploit nel container: costruisce l'oggetto falso dal leak, reclaim, dispatch
lab/rce_shim.cShim a pagina fissa: tabella finta, template dns_db_t finto, payload
lab/replay-lab.pyCattura TKEY (--no-send)
lab/gss_context_lab.pyHelper per il contesto GSS per la cattura
lab/start.sh, lab/named.replay.confBootstrap di KDC/keytab/zona, configurazione di named
RACE.mdSpiegazione della race sul contesto GSS-TSIG condiviso: condivisione, accessi, trigger, misurazioni, scoping
VERIFY.mdVerifica delle tre affermazioni rispetto al diff del sorgente 9.20.29 → 9.20.30 (locking GSS-TSIG, dump distruttivo del keyring, scoping dell'RCE)
EXPLOIT.mdDescrizione dell'exploit con evidenze nel codice e Mermaid
USAGE.mdBuild, esecuzione, output attesi, risoluzione dei problemi
ANAYLSE.mdAddendum di disclosure pronto per la pubblicazione (riconciliazione dell'impatto DoS vs. potenziale RCE, versioni interessate, mitigazione, rilevamento) — senza primitive di exploit
ANALYZE.mdVersione inglese dell'addendum di disclosure

(Questo file è README.md; gli altri documenti del PoC esistono anch'essi come RACE.md, VERIFY.md, EXPLOIT.md, USAGE.md.)

Prerequisiti

Solo Docker + internet al momento della build. L'immagine compila BIND 9.20.29 stesso dal tarball ufficiale ISC (https://downloads.isc.org/isc/bind9/9.20.29/bind-9.20.29.tar.xz, SHA-256 fissato), con --with-gssapi=yes, e installa gdb, il KDC MIT Kerberos e i driver del lab. Nessun BIND della distro, nessuna immagine base precompilata necessaria.

L'immagine contiene un'identità KDC usa e getta [email protected] (password attacker, realm EXAMPLE.TEST, KDC su 127.0.0.1:88 solo nel container) — esclusivamente per questo lab, non per test GSS-TSIG contro altri server; non estrarre il keytab dal container.

Avvio rapido

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) …

Previsto (estratto):

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

Classificazione

Nota di avvertenza: ISC classifica CVE-2026-94300 come remoto, Alto, CVSS 8.1 (AC:H) con potenziale esecuzione di codice. Ciò che è pubblicamente/riproducibilmente stabilito è una corruzione di memoria senza credenziali, attivata da replay (use-after-free/double-free) sul contesto GSS-TSIG condiviso — classe DoS fino a corruzione dell'heap. Un percorso verso l'esecuzione di codice è stato finora mostrato solo sotto assunzioni di modello assistite da debugger (ASLR disattivato, indirizzi/contenuti degli oggetti iniettati); non esiste alcun RCE remoto dimostrato.

Stabilito: data una leak, l'RCE consegue nel processo target. Non stabilito: un attacco remoto senza leak e senza gdb — la primitiva di info-leak e il passo di reclaim raggiunto mancano per questo. Si tratta di un insieme documentato di ostacoli, non di una prova di impossibilità; ISC include la classe di esecuzione di codice come potenziale. La base del codice (bug di sincronizzazione, dump distruttivo, cosa corregge la patch e cosa no) è verificata in VERIFY.md rispetto al diff dei due alberi; come funziona tecnicamente la race è in RACE.md. Dettagli dell'exploit e prove del codice: EXPLOIT.md, esecuzione e opzioni: USAGE.md. Divulgazione pronta per la pubblicazione: ANALYZE.md.

Scarica lo strumento