Apple a déployé le 11 mai 2026 une mise à jour de macOS Tahoe (version 26.5) qui inclut un correctif de sécurité pour une vulnérabilité qualifiée de mineure par la firme, mais qui s'avère être une pièce centrale d'une chaîne d'exploitation beaucoup plus préoccupante. L'entreprise Calif.io, en collaboration avec des chercheurs d'Anthropic, a révélé qu'il s'agissait du premier contournement public du système Memory Integrity Enforcement (MIE) d'Apple, fonctionnant sur les nouvelles puces M5.
Le MIE est présenté par Apple comme un « saut générationnel » en matière de sécurité. Il repose sur trois piliers : le marquage mémoire (EMTE), qui associe une étiquette cachée à chaque bloc mémoire alloué par le noyau ; des zones en lecture seule (read-only zones) qui hébergent les structures critiques du noyau ; et un moniteur de tables de pages (Secure Page Table Monitor) qui interdit toute modification non autorisée des tables de pages. Une seule fonction du noyau, _zalloc_ro_mut, est autorisée à écrire dans ces zones protégées.
Un exploit en cinq jours, avec deux bugs et une idée ingénieuse
L'équipe de Calif.io, composée de trois personnes, est parvenue à développer un exploit fonctionnel en seulement cinq jours, sans disposer d'aucune faille au départ. L'attaque, menée depuis un compte utilisateur non privilégié, a permis d'obtenir un shell root sur un Mac équipé d'une puce M5 avec MIE activé. Les chercheurs ont utilisé le modèle d'IA Mythos Preview d'Anthropic tout au long du processus.
Le rapport complet de 55 pages, qui détaille les failles utilisées dans la chaîne d'exploitation, reste sous embargo. Cependant, Apple a déjà publié un correctif pour l'une d'entre elles, référencée sous le code CVE-2026-28952. Le correctif est d'une simplicité déconcertante : deux instructions seulement. Il modifie la fonction _zalloc_ro_mut en supprimant un contrôle défectueux sur la pile (stack-area check), en déplaçant la vérification de débordement (overflow) en amont, et en ajoutant une nouvelle vérification par cœur de processeur (per-CPU bound).
Analyse du correctif : deux instructions qui en disent long
Le blog de l'équipe de sécurité ironPeak a publié une analyse détaillée du correctif. La version vulnérable (macOS 26.4.1) effectuait une vérification des limites de la zone de pile. La vulnérabilité résidait dans une addition non contrôlée entre l'adresse de la cible (target) et la longueur (len) : add x10, x8, x4 ; UNCHECKED target + len. Ce calcul, effectué avant la détection de débordement (qui arrivait trop tard, via adds x9, x8, x4 ; overflow detection, runs LATE), permettait de déterminer si la fin de la zone écrasée se situait en dessous d'un seuil (aligned_fp). En cas de débordement d'entier non détecté, l'écriture pouvait être autorisée hors des limites autorisées.
Le correctif de macOS 26.5 inverse la logique : la détection de débordement (adds x9, x8, x4) est effectuée en premier. Si un débordement est détecté (b.hs per_cpu_check), le code saute vers une nouvelle vérification par cœur. Cette nouvelle vérisation charge la base de la zone de sous-couche en lecture seule (RO subzone base) et un marqueur de limite par cœur (per-CPU bound marker) pour les comparer avec l'adresse cible et l'adresse de fin. Si la condition échoue, le noyau provoque un arrêt système (panic).
Les implications pour la sécurité
Cet événement remet en question l'efficacité réelle des protections matérielles de mémoire. Le MIE était considéré comme l'un des systèmes de sécurité les plus avancés jamais déployés sur un système d'exploitation grand public. Le fait qu'une petite équipe, assistée par l'IA, ait pu le contourner en cinq jours est un signal fort pour l'industrie.
Les experts en sécurité soulignent que si Apple a corrigé une faille spécifique (l'integer overflow dans l'écriture de la zone RO), les deux autres bugs utilisés dans la chaîne d'exploitation complète n'ont pas encore été corrigés. Le rapport complet de Calif.io, attendu prochainement, devrait fournir davantage de détails sur ces vulnérabilités restantes.
Contexte : la mémoire, maillon faible de la sécurité
Les failles de sécurité mémoire sont à l'origine d'environ 70 % des vulnérabilités de haute sévérité dans les principaux logiciels, selon les analyses de Google Project Zero, Microsoft, Chrome et Firefox. Des logiciels espions comme Pegasus de NSO Group, ou des jailbreaks comme checkm8, reposent sur ce type de vulnérabilités. L'enjeu est crucial : corrompre la mémoire du noyau permet à un attaquant de prendre le contrôle total d'un appareil, de lire des messages, d'activer la caméra ou d'installer des logiciels persistants.
La découverte de Calif.io démontre que même les protections matérielles les plus robustes peuvent être contournées. L'utilisation de l'intelligence artificielle comme assistance à la recherche de vulnérabilités ouvre également une nouvelle ère dans la cybersécurité, où la rapidité de découverte et de correction des failles devient encore plus critique.