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
CVE-2026-65343-e7eb2ed — PoC pour CVE-2026-65343, une lecture hors limites (OOB read) du noyau AppleKeyStore sur iOS 26.6 qui divulgue des pointeurs du noyau afin de contourner KASLR depuis une application sandboxée via la capture du handle ACM par DYLD_INTERPOSE. | Kitploit
Outils/GitHubGitHub/hidayat-tanjung/cve-2026-65343-e7eb2ed
Sécurité iOSCriminalistique MémoireAnalyse des VulnérabilitésExploitationPentesting d'Applications MobilesRétro-ingénierieSécurité MobileArticles et RechercheExploitation de Binaires
GitHubhidayat-tanjung/cve-2026-65343-e7eb2ed

CVE-2026-65343-e7eb2ed

PoC pour CVE-2026-65343, une lecture hors limites (OOB read) du noyau AppleKeyStore sur iOS 26.6 qui divulgue des pointeurs du noyau afin de contourner KASLR depuis une application sandboxée via la capture du handle ACM par DYLD_INTERPOSE.

Voir le dépôt
il y a 16h 59mPas 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-65343 — Lecture hors limites dans AppleKeyStore (contournement du KASLR)

Composant : extension noyau AppleKeyStore — _LibSer_SEPControl_Deserialize
Affecté : iOS / iPadOS 26.6 (23G71) et versions antérieures
Corrigé dans : iOS / iPadOS 26.6.1 (23G83)
Type : Lecture hors limites lors de la désérialisation des messages de contrôle SEP
Impact : Fuite de pointeur noyau → contournement du KASLR depuis un processus sandboxé et sans entitlement (via capture du handle ACM par DYLD_INTERPOSE)


Crédits

Découvert par : Drinor Selmanaj (Sentry), Surya Narayan Kushwaha
(selon Apple Security Advisory — iOS 26.6.1)


Cause racine

_LibSer_SEPControl_Deserialize dans l'extension noyau AppleKeyStore publie une paire issue d'un tampon de message ACM (Credential Manager) vers l'espace utilisateur via , .

(payload_ptr, declared_length)
copyout()
sans vérifier que declared_length ≤ remaining

En fournissant declared_length = 0x800, le pilote copie environ 0x7E8 octets au-delà de la fin du tampon de message ACM du noyau — lisant ainsi dans les allocations adjacentes du tas noyau. Ces régions adjacentes contiennent des pointeurs noyau (0xfffffff0xxxxxxxx) qui peuvent être utilisés pour calculer le décalage KASLR.

root@kitploit:~
; _LibSer_SEPControl_Deserialize (affected path, 26.6 / 23G71)
ldr  w2, [acm_msg + declared_length_offset]  ; user-controlled 0x800
; NO check: w2 <= (acm_msg_end - payload_ptr) ← MISSING
bl   copyout                                  ; copies w2 bytes to userspace

Capture du handle ACM (DYLD_INTERPOSE)

L'appel direct à IOServiceOpen("AppleKeyStore") est bloqué par le sandbox sur les applications sideloadées. Cependant, le chemin de signature de clé du Secure Enclave de Security.framework appelle IOConnectCallMethod dans le processus avec un véritable handle de session ACM.

Le PoC utilise un hook __DATA,__interpose (qui s'exécute au moment du chargement dyld, avant que __DATA_CONST ne soit rendu en lecture seule — fishhook est bloqué sur iOS 26 par la protection DATA_CONST) :

  1. Armer le drapeau de capture de l'interpose
  2. SecKeyCreateRandomKey(kSecAttrTokenIDSecureEnclave) → SecKeyCreateSignature() → l'appel IOConnectCallMethod dans le processus se déclenche avec un véritable handle ACM
  3. Capturer (conn, handle[16])
  4. Rejouer avec declared_length = 0x800 sur 163 sélecteurs AKS
  5. Analyser la sortie à la recherche de pointeurs noyau 0xfffffff0xxxxxxxx → calculer le décalage KASLR

Comportement du PoC

poc_aks_oob.m implémente la chaîne complète de capture du handle ACM et de sonde OOB :

  • Crée une clé Secure Enclave P-256 (kSecAttrAccessibleAfterFirstUnlock, sans biométrie)
  • Signe un message de 32 octets pour déclencher l'appel IOKit AKS dans le processus
  • Rejoue avec declared_length = 0x800 sur les 163 sélecteurs AKS
  • Affiche tout pointeur noyau trouvé sous la forme KPTR @+XXXX = 0xfffffff0YYYYYYYY
  • Tente de calculer le décalage KASLR à partir d'un offset de symbole AKS connu

Si la signature de clé SE est routée via XPC secd au lieu du processus, la sonde de repli utilise un handle nul (confirme l'accessibilité du chemin OOB ; tous les sélecteurs échoueront à la validation ACM, mais le chemin VNOP est confirmé).


Note iOS 26 : fishhook bloqué

Sur iOS 26, __DATA_CONST (qui contient la GOT) est mappé en lecture seule avant l'exécution de tout code dans le processus. Les écritures GOT à l'exécution (comme celles utilisées par fishhook) déclenchent KERN_PROTECTION_FAILURE → SIGBUS. DYLD_INTERPOSE via __DATA,__interpose fonctionne car dyld traite la table d'interpose au moment du chargement de l'image, avant que le noyau n'applique la protection __DATA_CONST.


Prérequis

  • iOS 26.6 (23G71) ou antérieur
  • Accès au Secure Enclave (kSecAttrTokenIDSecureEnclave) — disponible pour toute application sideloadée sans entitlements
  • Aucune évasion de sandbox requise : l'appel IOKit AKS est effectué dans le processus via Security.framework

Compilation

root@kitploit:~
# Xcode project — link Security.framework and Foundation.framework
clang -arch arm64 \
      -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -framework Security -framework Foundation \
      -o poc poc/poc_aks_oob.m

codesign -s "Apple Development" --entitlements ent.plist poc

Entitlements minimaux (ent.plist) :

root@kitploit:~
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"><dict>
    <key>keychain-access-groups</key>
    <array><string>$(AppIdentifierPrefix)com.research.poc65343</string></array>
</dict></plist>

Chronologie

DateÉvénement
2026-08-17iOS 26.6.1 publié avec le correctif
2026-08-17Crédits Apple publiés dans l'avis de sécurité

Références

  • Apple Security Advisory — iOS 26.6.1

CVE-2026-65343-e7eb2ed

Télécharger l’outil