🔍 Contexte
Publié le 27 juillet 2026 sur le blog de Calif Global (blog.calif.io) par Bruce Dang, cet article détaille deux vulnérabilités exploitées pour réaliser le premier bypass public d’Apple MIE (Memory Integrity Enforcement) sur macOS 26.4.1. Les correctifs ont été intégrés dans macOS 26.6. La présentation complète est annoncée à Black Hat USA le 5 août 2026.
🐛 Vulnérabilité 1 — Type Confusion SMB (CVE-2026-64704)
- Composant affecté : SMBClient (open-source, version SMBClient-538.100.12)
- Mécanisme : lors d’une requête SMB2 CREATE avec un contexte AAPL « Resolve ID », un serveur malveillant peut répondre avec un contexte de type lease (RqLs) à la place
- Le parseur
smb2_smb_parse_create_contextsne vérifie pas le type de contexte envoyé et réinterprète le pointeurcreate_contextpselon le nom présent dans la réponse du serveur - Résultat : confusion de types entre
struct smb2_create_ctx_resolve_idetstruct smb2_dur_hndl_and_lease— le champfile_id(contrôlé par l’attaquant viafsgetpath(2)) est interprété comme un pointeurleasep, permettant une lecture/déréférencement de pointeur arbitraire en kernel - Déclencheur : syscall
fsgetpath(2)sur un volume smbfs monté sur un serveur malveillant ayant annoncé les bonnes capability flags
🐛 Vulnérabilité 2 — Fuite mémoire kernel WebDAV (CVE-2026-64699)
- Composant affecté : webdavfs (open-source, version webdavfs-403.0.0.0.1)
- Mécanisme : dans le chemin de lecture hors-bande (
webdav_read_bytes), le kext alloue un buffer jusqu’à 16 MB sans M_ZERO (mémoire non initialisée) - L’agent userspace (
webdavfs_agent) traite tout code HTTP 2xx comme un succès — un serveur malveillant peut répondre avec un HTTP 206 vide (corps de longueur zéro) - Le kext ne vérifie jamais que
iolencouvre effectivement le buffer de réponse attendu - Résultat :
uiomovecopie vers userspacerequest_read.countoctets de mémoire kernel non initialisée, constituant une infoleak kernel jusqu’à 16 MB
⛓️ Chaîne d’exploitation
- Combinaison des deux bugs pour obtenir des primitives de lecture/écriture kernel arbitraires
- Objectif final : exécution de code en kernel et élévation de privilèges jusqu’à root depuis un utilisateur non privilégié, avec Apple MIE activé
- Durée de développement de l’exploit : environ 5 jours de la découverte du bug à l’exploit finalisé
🏆 Challenge communautaire
Calif Global lance un challenge public invitant humains, IA et équipes mixtes à développer un exploit complet utilisant ces deux CVE pour bypasser Apple MIE et atteindre root, avant la révélation de leur propre approche à Black Hat.
📄 Type d’article
Article de publication de recherche / analyse technique à visée de divulgation coordonnée et de challenge communautaire, publié après la disponibilité des correctifs Apple.
🧠 TTPs et IOCs détectés
TTP
- T1203 — Exploitation for Client Execution (Execution)
- T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
- T1212 — Exploitation for Credential Access (Credential Access)
- T1557 — Adversary-in-the-Middle (Collection)
IOC
🟢 Indice de vérification factuelle : 66/100 (haute)
- ✅ blog.calif.io — source reconnue (Rösti community) (20pts)
- ✅ 12967 chars — texte complet (fulltext extrait) (15pts)
- ✅ 2 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 4 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ 0/2 CVE(s) confirmée(s) (0pts)
🔗 Source originale : https://blog.calif.io/p/apple-mie-exploitation-challenge