Un chercheur en sécurité allemand de SektionEins a mis au jour une vulnérabilité de sécurité qui affecte OS X Yosemite et dont l'exploitation permet d'obtenir un accès root sur l'ordinateur Mac. Ce chercheur est un hacker bien connu de la communauté des jailbreakers iOS puisqu'il s'agit de Stefan Esser alias i0n1c.

Stefan Esser n'a pas pris soin de prévenir la firme à la pomme en amont, et donc avant de passer à la divulgation publique de la vulnérabilité. Elle est liée à l'ajout dans OS X Yosemite d'une variable d'environnement DYLD_PRINT_TO_FILE en rapport avec l'éditeur de liens dynamiques dyld. Son paramétrage définit où dyld peut enregistrer des messages d'erreur dans le système de fichiers.

i0n1c explique que par le biais d'un abus de cette variable d'environnement, un attaquant peut ouvrir ou créer des fichiers arbitraires détenus par l'utilisateur root n'importe où dans le système de fichiers. Il évoque une élévation de privilèges facile à mettre en œuvre dans OS X 10.10.x mais nécessitant cependant un accès local à l'ordinateur Mac.

Par nature, cette faille est donc moins critique qu'une vulnérabilité exploitable à distance. Elle n'en demeure pas moins pour autant dangereuse. Une preuve de concept permet d'installer un root shell sur les ordinateurs Mac, ce qui est un peu le summum pour une attaque.

Stefan Esser, qui ne va pas se faire des amis chez Apple, dit ne pas savoir si la firme à la pomme était vraiment au courant ou non de ce problème. Le fait est que la vulnérabilité est corrigée dans la bêta d'OS X El Capitan mais pas dans celle d'OS X 10.10.5 et donc pas dans la version stable actuelle d'OS X Yosemite (10.10.4).

Le hacker reproche à Apple de ne pas avoir mis en place un programme de Bug Bounty pour récompenser les trouvailles de chercheurs en sécurité tiers. Pas question de travailler gratuitement. Et ne lui parlez pas d'une divulgation responsable des vulnérabilités de sécurité (en prévenant d'abord l'éditeur). Pour lui, c'est Apple qui est irresponsable dans cette affaire : une correction dans la bêta de El Capitan en juin mais pas dans la dernière version stable d'OS X.

Comme il est quand même sympa, Stefen Esser a publié sur GitHub un pilote pour le noyau qui implémente des mesures de protection (SUIDGuard).