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 — Preuve de concept pour CVE-2026-65343, une lecture hors limites dans AppleKeyStore qui divulgue des pointeurs noyau pour contourner KASLR sur iOS 26.6. Inclut la capture du handle ACM via DYLD_INTERPOSE et une sonde à travers les sélecteurs AKS. | Kitploit
Outils/GitHubGitHub/bytev0rtex/cve-2026-65343
Sécurité iOSAnalyse des VulnérabilitésExploitationRétro-ingénierieSécurité MobileExploitation de Binaires
GitHubbytev0rtex/cve-2026-65343

CVE-2026-65343

Preuve de concept pour CVE-2026-65343, une lecture hors limites dans AppleKeyStore qui divulgue des pointeurs noyau pour contourner KASLR sur iOS 26.6. Inclut la capture du handle ACM via DYLD_INTERPOSE et une sonde à travers les sélecteurs AKS.

Voir le dépôt
1il y a 9h 41mPas 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 AppleKeyStore (Contournement KASLR)

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


Crédits

Découvert par : Drinor Selmanaj (Sentry), Surya Narayan Kushwaha
(selon l'avis de sécurité Apple — 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 dans les allocations de tas adjacentes du 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 (chemin affecté, 26.6 / 23G71)
ldr  w2, [acm_msg + declared_length_offset]  ; 0x800 contrôlé par l'utilisateur
; AUCUNE vérification : w2 <= (acm_msg_end - payload_ptr) ← MANQUANTE
bl   copyout                                  ; copie w2 octets vers l'espace utilisateur

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é 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 chargement de 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 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 les 163 sélecteurs AKS
  5. Analyser la sortie pour trouver les 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 hors limites :

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

Si la signature de clé SE est routée via XPC secd au lieu du processus, la sonde de secours utilise un handle nul (confirme l'accessibilité du chemin hors limites ; 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'interposition 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 Secure Enclave (kSecAttrTokenIDSecureEnclave) — disponible pour toute application sideloadée sans entitlements
  • Aucune évasion de sandbox requise : l'appel IOKit AKS se fait dans le processus via Security.framework

Compilation

root@kitploit:~
# Projet Xcode — lier Security.framework et 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

  • Avis de sécurité Apple — iOS 26.6.1
Télécharger l’outil