L’équipe de pirates blancs Project Zero de Google a découvert une vulnérabilité de sécurité de haute sévérité dans le noyau de macOS, de type copie sur écriture (copy on write, Cow).

Cow est une stratégie d’optimisation, largement exploitée pour les machines virtuelles : quand de multiples appelants demandent des ressources initialement impossibles à distinguer, on peut, à leur place, leur fournir un pointeur vers la même ressource, afin d’économiser de la mémoire. Ce n’est que quand l’un d’eux modifie sa ressource qu’une nouvelle copie privée est créée.

Dans XNU, le noyau de macOS, cette stratégie est exploitée aussi bien avec la mémoire qu’avec les fichiers.

Après qu’un processus destination commence à lire la mémoire transférée, il est possible que les pages qui la contiennent soient supprimés du cache. Plus tard, quand ces pages sont à nouveau nécessaires, elles sont relues à partir du système de fichier.

Quand un attaquant peut modifie un fichier sans que sous-système de gestion virtuelle n’en soit averti, c’est un bogue de sécurité.

Or macOS permet aux utilisateurs normaux de monter une image de systèmes de fichiers, et quand cette image est modifiée directement, le système de fichiers monté n’en est pas averti.

Apple a été averti en toute confidence en octobre 2018. Depuis, l’entreprise n’a toujours pas développé de correctif de sécurité. Conformément aux usages de la profession, qui laissent un délai de trois mois à un éditeur de logiciels pour corriger un bogue de sécurité, le délai étant dépassé, Project Zero a révélé la vulnérabilité de sécurité.

Espérons qu’Apple se décide à prendre cette vulnérabilité plus au sérieux.