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-64747 — Analisi delle cause profonde e PoC di raggiungibilità per CVE-2026-64747, un buffer overflow nell'estensione del kernel AppleAVE2. Include il protocollo wire IOKit ricostruito tramite reverse engineering, la matematica dell'overflow e un PoC in userspace che pilota il percorso di configurazione. | Kitploit
Strumenti/GitHubGitHub/eddinos2/cve-2026-64747
Framework di ExploitAnalisi delle VulnerabilitàExploitReverse EngineeringSicurezza HardwareBinary Exploitation
GitHubeddinos2/cve-2026-64747

CVE-2026-64747

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 →

Informazioni

Analisi delle cause profonde e PoC di raggiungibilità per CVE-2026-64747, un buffer overflow nell'estensione del kernel AppleAVE2. Include il protocollo wire IOKit ricostruito tramite reverse engineering, la matematica dell'overflow e un PoC in userspace che pilota il percorso di configurazione.

Condividi

CVE-2026-64747 — Driver kernel AppleAVE2: formato wire + PoC di raggiungibilità

Analisi della causa principale e proof-of-concept di raggiungibilità per macOS per CVE-2026-64747, un buffer overflow nell'estensione kernel dell'encoder video AppleAVE2 (com.apple.driver.AppleAVE2) corretto in macOS 26.6 (kext 905.40.1).

AppleAVE2 — Impatto: un'app potrebbe essere in grado di eseguire codice arbitrario con privilegi kernel. Un buffer overflow nel calcolo della dimensione del work-buffer dell'encoder è stato risolto con un controllo dei limiti migliorato.

Questo repository documenta il protocollo wire IOKit completamente reverse-engineered di AppleAVE2UserClient (crea sessione → configura → processo per-frame), il punto esatto dell'overflow (un calcolatore della dimensione del work-buffer LRB a 32 bit nel percorso multipass HEVC 10-bit), e un PoC in userspace che apre lo user client, guida il percorso di configurazione attraverso lo stack di validazione del kernel e dimostra la differenza tra le build vulnerabile (905.36.1) e corretta (905.40.1).

Livello (onesto): raggiungibilità + RE completo del protocollo + matematica dell'overflow analiticamente provata. Non RCE, nessun overflow dal vivo dimostrato — l'host di laboratorio esegue il kext corretto, e un gate di capacità hardware (presente in entrambe le build) respinge le dimensioni che causano l'overflow prima che il calcolatore vulnerabile venga eseguito. Per innescare l'overflow serve un target la cui tabella di capacità ammetta le dimensioni richieste (vedi FIRE_READY.md §5-6).

Contenuti

filecosa
poc_ave2_reach.cPoC IOKit in userspace: apre AppleAVE2UserClient, crea una sessione, guida la configurazione con le struct reverse-engineered. Nessuna entitlement richiesta.
ave2_wire.hIl formato wire reverse-engineered: numeri di selettore, dimensioni delle struct e ogni offset di campo rilevante (larghezza/altezza, encType, views/layers, crominanza, profondità di bit)
WIRE_FORMAT.mdRiferimento del formato wire: layout della dispatch table, peculiarità PAC, contratti per selettore
FIRE_READY.mdLa matematica dell'overflow (calcolatore LRB mode-5), l'input esatto per innescarlo, prove di esecuzione su host con patch e le incognite rimanenti
evidence/Cattura ioreg + log del kernel dalle esecuzioni sull'host con patch (progressione dello stack di validazione)

Build ed esecuzione

root@kitploit:~
clang -O0 -g -arch arm64 -framework IOKit -framework CoreFoundation \
      -o poc_ave2_reach poc_ave2_reach.c
./poc_ave2_reach        # root non richiesto; il servizio si apre dal contesto utente

Il bug in un paragrafo

L'encoder di AppleAVE2 calcola la dimensione del work-buffer LRB (lookaside reference buffer) con aritmetica a 32 bit e nessun controllo di overflow. Nel percorso multipass HEVC 10-bit (calcolatore invocato con param_2 = 5), dimensioni come 64656×8080 (che superano il clamp w*h ≤ 0x1FFE0000 del driver) fanno sì che la somma dei componenti sia 0x80000000 — bit di segno impostato. Il calcolatore vulnerabile restituisce la somma a 32 bit nuda; la dimensione viene trattata come negativa a valle, viene allocato un buffer DART/IOMMU sottodimensionato e la DMA dell'encoder scrive oltre i suoi limiti → corruzione heap/DART del kernel → esecuzione di codice nel kernel. Il calcolatore corretto aggiunge controlli del segno per componente e un controllo della somma a 64 bit e registra LRB size overflow.

Risultati chiave del RE

  • Dispatch table decodificata dalla sezione __const della metaclasse (righe di stride 0x18 = {func, inSize<<32, outSize<<32}, con una peculiarità del puntatore PAC).
  • IOServiceOpen deve usare type=1 (type=0 → creazione respinta).
  • sel1 = CREATE (struct da 0x920 byte: stringa di versione @+0x28, encType @+0x918), sel2 = DESTROY, sel4 = CONFIGURE (struct da 0x1a0a0 byte) = il punto di ingresso della CVE.
  • Larghezza @ input di configurazione +0xd90, altezza +0xd94; la configurazione deve passare da IOConnectCallAsyncStructMethod (il percorso sincrono viene respinto al gate IO_Config:337 prima della validazione).
  • Progressione completa dello stack di validazione documentata sull'host con patch (esecuzioni 4-7): gate asincrono → clamp delle dimensioni → gate iNumViews/iNumLayers → il gate di capacità del dispositivo che attualmente blocca l'overflow.

Per scopi di ricerca educativa e difensiva. Il bug è corretto nel macOS attuale; testa solo su hardware di tua proprietà.

Scarica lo strumento