Une vulnérabilité découverte dans MacOs permet la prise de contrôle du système et la corruption de la mémoire.

Les détails du code de l’exploit et de la preuve de concept (PoC) d’une vulnérabilité dans macOS ont été rendus publics. Un attaquant pourrait exploiter cette vulnérabilité dans le but d’exécuter du code arbitraire et d’élever ses privilèges.

Cette vulnérabilité affecte IOHIDFamily, une extension du noyau conçue pour les dispositifs d'interface humaine (HID), tels que les écrans tactiles ou des boutons. Les bugs détectés touchent toutes les versions de macOS et peuvent mener à des accès en lecture et écriture dans le noyau.

L'exploit créé par le hacker ayant découvert la vulnérabilité désactive également les fonctionnalités de sécurité SIP1 (System Integrity Protection) et AMFI2 (Apple Mobile File Integrity).

IOHIDeous (nom donné à l’exploit) n'est pas discret puisqu'il nécessite une déconnexion de l'utilisateur connecté. Un attaquant pourrait alors concevoir un exploit qui est déclenché lorsque le périphérique ciblé est arrêté ou redémarré manuellement.

La vulnérabilité est exploitable de trois façons différentes :

  1. Détecter le port de tâche de WindowServer3 et prendre les droits de son client avec mach_port_extract_right  (ceci requiert les privilèges root et la désactivation de SIP)
  2. Tuer le processus WindowServer (ceci nécessite les privilèges root mais pas forcément la désactivation de SIP)
  3. Forcer la déconnexion du client avec la commande launchctl reboot logout puis se connecter en tant qu’utilisateur actuel (ceci ne requiert pas les privilèges root)

Apple n’a pas encore résolu le problème. Cette vulnérabilité est classée comme 0-day.

1 SIP : Une fonctionnalité qui restreint le compte utilisateur root et limite ses actions sur les sections protégées du système d’exploitation Mac.

2 AMFI : une extension de noyau iOS qui assure l’intégrité du code.

3 WindowServer : ce processus assure la liaison entre les applications et l’affichage sur l’écran.