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-65349 — Preuve de concept pour une écriture hors limites dans vfs_attr_pack_internal (getattrlist) de XNU sur iOS 26.6, démontrant la corruption du tas du noyau et des notes d'exploitation pour la falsification de pointeurs PAC. | Kitploit
Outils/GitHubGitHub/bytev0rtex/cve-2026-65349
Sécurité iOSAnalyse des VulnérabilitésExploitationRétro-ingénierieExploitation de Binaires
GitHubbytev0rtex/cve-2026-65349

CVE-2026-65349

Preuve de concept pour une écriture hors limites dans vfs_attr_pack_internal (getattrlist) de XNU sur iOS 26.6, démontrant la corruption du tas du noyau et des notes d'exploitation pour la falsification de pointeurs PAC.

Voir le dépôt
1il y a 9h 40mPas 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-65349 — Écriture hors limites dans getattrlist via vfs_attr_pack_internal

Composant : XNU VFS — vfs_attr_pack_internal (appel système getattrlist)
Versions concernées : iOS / iPadOS 26.6 (23G71) et versions antérieures
Corrigé dans : iOS / iPadOS 26.6.1 (23G83)
Type : Écriture hors limites dans le tampon de l'appelant
Impact : Corruption du tas du noyau ; depuis le contexte noyau (après lecture/écriture noyau), permet d'écrire un pointeur signé PAC dans un tampon contrôlé par l'attaquant


Crédits

Découvert par un chercheur anonyme
(selon l'avis de sécurité Apple — iOS 26.6.1)


Cause racine

vfs_attr_pack_internal parcourt le bitmap d'attributs demandé et écrit chaque attribut séquentiellement dans le tampon de l'appelant. Il ne vérifie si le décalage de sortie courant a dépassé avant d'écrire l'emplacement d'attribut 51 ().

pas
bufsize
SETXATTR_SLOT

Pour un fichier avec un nom de 16 caractères, la sortie complète d'attributs valides est de 0x1a4 (420) octets. L'emplacement 51 commence au décalage 0x198 (408 octets). Lorsque l'appelant fournit un tampon plus petit que 0x198 + 8, le noyau écrit 8 octets au-delà de la fin du tampon :

root@kitploit:~
; vfs_attr_pack_internal (chemin affecté, 26.6 / 23G71)
; écriture de l'emplacement 51 — aucune vérification de limites avant le stockage
str  x_attr_data, [buf + 0x198]   ; OOB si bufsize < 0x198 + 8

Bitmap d'attributs

Les masques d'attributs valides vérifiés par sonde sur appareil (getattrlist sur un nom de fichier de 16 caractères, iOS 26.6) :

ChampMasque
commonattr0xffe7ffff (les bits 19, 20 sont invalides sur ce noyau)
fileattr0x0000363f
forkattr0xffffe003

Avec ces masques sur un nom de fichier de 16 caractères, la sortie totale = 0x1a4 octets. Le dépassement se produit à l'emplacement 51 (buf+0x198) dès que bufsize < 0x1a0.


Notes d'exploitation iOS 26

Sur iOS 26, l'isolation KHEAP_TEMP empêche l'écriture hors limites de corrompre directement les allocations de tas adjacentes de manière utile depuis l'espace utilisateur. Le bug est classé comme tas du noyau uniquement dans cette recherche :

  • Depuis l'espace utilisateur : l'écriture hors limites atteint la pile/tas utilisateur de l'appelant — observable mais non exploitable pour une élévation de privilèges sans primitive supplémentaire.
  • Depuis le contexte noyau (après une primitive d'écriture noyau issue de CVE-2026-64788) : écrire un pointeur signé PAC dans un tampon noyau via le décalage hors limites, puis déclencher vfs_attr_pack_internal depuis un site d'appel contrôlé.

Dans la chaîne de jailbreak iOS 26.6, ce bug est utilisé dans l'étape finale pour écrire un pointeur forgé PACIA dans une allocation noyau adjacente au tampon de l'appelant.


Comportement du PoC

poc_getattrlist_oob.c démontre la limite hors limites avec trois appels :

AppelTaille du tamponRésultat attendu
164 octetsLe noyau écrit 0x1a4 octets → dépassement à buf+0x198 (344 B au-delà de la fin)
20x198 octetsL'écriture hors limites commence exactement à la fin du tampon
30x1a4 octetsTaille valide exacte → succès propre

Le PoC crée un nom de fichier de 16 caractères (/var/root/aaaaaaaaaaaaaaaa) comme cible de test, exécute les trois appels getattrlist(), et affiche les codes de retour. Un journal de panique du noyau (si déclenché) montrera une faute à buf+0x198.


Prérequis

  • iOS 26.6 (23G71) ou version antérieure
  • Accès en écriture à /var/root/ (pour créer le fichier de test de 16 caractères ; le chemin peut être ajusté vers tout emplacement accessible en écriture)
  • Aucune entitlement requise

Compilation

root@kitploit:~
# Binaire C autonome — aucune framework nécessaire
clang -arch arm64 -o poc poc/poc_getattrlist_oob.c

# Pour un appareil :
clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -o poc poc/poc_getattrlist_oob.c
codesign -s "Apple Development" poc

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