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
IOHIDFamily-PoC-Research — CVE-2026-28992 IOHIDFamily FastPathUserClient condition de course PoC — recherche en sécurité | Kitploit
Outils/GitHubGitHub/clogan9019-dotcom/iohidfamily-poc-research
Sécurité iOSAnalyse des VulnérabilitésExploitationSécurité MobileArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubclogan9019-dotcom/iohidfamily-poc-research

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 →

IOHIDFamily-PoC-Research

CVE-2026-28992 IOHIDFamily FastPathUserClient condition de course PoC — recherche en sécurité

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

CVE-2026-28992 — IOHIDFamily FastPathUserClient PoC

Dépôt de recherche en sécurité. Deux applications PoC démontrant les race conditions dans le FastPathUserClient d'IOHIDFamily sur iOS 18.7.1 et versions antérieures.

⚠️ Les deux PoC provoqueront un kernel panic et redémarreront votre appareil. Sauvegardez d'abord votre travail.


Résumé de la vulnérabilité

ChampDétail
CVECVE-2026-28992
ComposantIOHIDFamily — IOHIDEventServiceFastPathUserClient
TypeCorruption mémoire (race condition / UAF)
Accessible depuisSandbox d'application standard, aucun entitlement requis
Corrigé dansiOS 18.7.9 / iOS 26.5
ChercheurJohnny Franks (@zeroxjf)

Cause racine

sel0 (open/gate) vérifie FastPathHasEntitlement et FastPathMotionEventEntitlement dans l'OSDictionary fourni par l'appelant plutôt que dans les flags d'entitlement stockés lors de initWithTask. Une application sandboxée passe la vérification en incluant ces clés dans son dictionnaire d'entrée.

Deux vecteurs d'attaque en découlent :


UAFPoc — Use-After-Free

UAFPoc/UAFPoc.xcodeproj

Race : close (sel1) supprime l'état du provider et efface l'offset +0x109 sans verrou. copyEvent (sel2) vérifie l'offset +0x108 sous un verrou par connexion, puis effectue un appel dans le provider. Plusieurs connexions au même provider impliquent que close et copyEvent s'exécutent dans des domaines de verrouillage différents sur les mêmes objets partagés côté provider.

Type de crash :

  • A17+ (MTE) : faute de contrôle de tag MTE du noyau
  • Pre-A17 : data abort du noyau

AOPPanicPoc — Watchdog du coprocesseur AOP

AOPPanicPoc/AOPPanicPoc.xcodeproj

Race : mach_port_destroy déclenche un didTerminate → teardown asynchrone, non synchronisé avec les chemins d'ouverture sel0 concurrents sur d'autres connexions. Le teardown libère l'état côté provider tandis que les threads d'ouverture l'itèrent. Il sature également la mailbox des providers basés sur SPU → timeout du watchdog AOP.


Comment compiler et sideloader

Prérequis

  • macOS avec Xcode 15+
  • Compte Apple Developer (le niveau gratuit fonctionne pour le sideloading)
  • iPhone 16e sous iOS 18.7.1 (ou tout appareil iOS 15.0–18.7.8 / 26.0–26.4.x)

Étapes

root@kitploit:~
git clone https://github.com/clogan9019-dotcom/IOHIDFamily-PoC-Research.git
cd IOHIDFamily-PoC-Research

Variante UAF :

  1. Ouvrez UAFPoc/UAFPoc.xcodeproj dans Xcode
  2. Sélectionnez votre appareil dans la barre supérieure
  3. Définissez votre Team dans Signing & Capabilities (votre identifiant Apple convient)
  4. Product → Run (⌘R) — Xcode l'installera et le lancera directement

Variante AOP :

  1. Ouvrez AOPPanicPoc/AOPPanicPoc.xcodeproj dans Xcode
  2. Mêmes étapes de signature
  3. Product → Run (⌘R)

Récupération du journal de panic

Après le redémarrage de l'appareil :

  1. Branchez-le au Mac
  2. Ouvrez Xcode → Window → Devices and Simulators → View Device Logs
  3. Trouvez le journal Panic le plus récent (fichier .ips)
  4. Enregistrez-le dans panic-logs/ et committez-le pour analyse

Alternative via le Terminal :

root@kitploit:~
# After reboot, pull the log
idevicecrashreport -u <UDID> ./panic-logs/

Que rechercher dans le journal de panic

Sur A18 (iPhone 16e), vous devriez voir l'un des éléments suivants :

  • MTE tag check fault — la variante UAF qui libère et réalloue un objet de tas tagué
  • AOP watchdog timeout — la variante AOP qui sature la mailbox SPU

Champs clés à noter :

root@kitploit:~
Kernel version:      Darwin Kernel Version ...
Hardware Model:      iPhone17,5
panic(cpu N ...):    <the actual panic string>
Backtrace:
  ... IOHIDEventServiceFastPathUserClient ...

Les noms de fonctions dans la backtrace vous indiquent exactement quel chemin de code a été déclenché.


Calendrier de divulgation

DateÉvénement
InconnueBug découvert par Johnny Franks (@zeroxjf)
11 mai 2026Corrigé dans iOS 18.7.9 / iOS 26.5
21 juin 2026Code PoC public publié

Signaler à Apple

Les variantes non corrigées ou les bugs liés peuvent être signalés sur : https://security.apple.com/submit

Pour les bugs du noyau : décrivez le composant, les étapes de reproduction, le type de crash et joignez le journal de panic .ips.


CVE associées sur iOS 18.7.1

CVEComposantStatut sur 18.7.1
CVE-2025-43510AppleM2ScalerCSCDriver (DarkSword Stage 5)Non corrigé (corrigé en 18.7.2)
CVE-2026-28992IOHIDFamily FastPathUserClientNon corrigé (corrigé en 18.7.9)
CVE-2026-43655AppleM2ScalerCSCDriver — lecture OOBNon corrigé et jamais rétroporté vers 18.x
CVE-2026-20687UAF du noyau → écriture en mémoire du noyauNon corrigé (corrigé en 18.7.7)

À des fins éducatives et de divulgation responsable uniquement.

Télécharger l’outil