Il y a environ un mois, un chercheur en sécurité avait prévenu qu’une faille dans OS X pouvait provoquer une escalade des privilèges si l’on disposait d’un accès à la machine. À peine quelques semaines plus tard, la société Malwarebytes indique avoir repéré une exploitation de cette faille.
Le chercheur en sécurité Stefan Esser avait prévenu il y a un peu moins d’un mois que la dernière mouture d’OS X, Yosemite, était vulnérable à une faille par escalade de privilèges. Exploitée, elle permettrait à un code de s’exécuter avec des privilèges root et donc d’obtenir le maximum des droits, lui permettant alors d’effectuer de nombreuses opérations, comme des modifications et des suppressions de fichiers.
Un code sans garde-fou
Le problème réside dans dyld, le dynamic linker d’OS X. Ce composant, que l’on retrouve sur pratiquement tous les systèmes d’exploitation du monde, permet de charger et de lier les bibliothèques dont un exécutable a besoin pour fonctionner. Sous Windows par exemple, ces bibliothèques sont (en partie) les fameux fichiers DLL. Dans OS X, tout allait bien jusqu’à ce qu’Apple ajoute avec Yosemite de nouvelles fonctionnalités dédiées à la journalisation des erreurs.
Esser indique que le vrai souci vient de la variable d’environnement « DYLD_PRINT_TO_FILE » ajoutée dans dyld. Selon le chercheur, cet ajout n’est accompagné d’aucune des mesures de protection habituellement mises en place quand du code est ajouté dans ce composant. Sans garde-fou, la variable accepte en entrée n’importe quel fichier stocké sur le disque, y compris ceux dont l’accès est normalement restreint, par exemple dans le dossier système.
La brèche avait probablement déjà été repérée
Et malheureusement, il n’aura pas fallu bien longtemps pour qu’une exploitation de cette faille soit repérée. MalwareBytes a en effet indiqué avoir trouvé un installeur capable d’exploiter la brèche afin de déposer silencieusement sur le Mac de l’utilisateur différents logiciels indésirables, notamment VSearch et MacKeeper. Et il n’y a rien de spécial à faire, car la faille permet d’installer ces éléments sans même qu’une action particulière soit requise.
Comme l’explique chez l’éditeur le chercheur Adam Thomas, l’installeur exploite la brèche pour modifier le fichier de configuration sudoers. Il s’agit en temps normal d’un fichier caché faisant partie de l’environnement Unix (auquel OS X emprunte bon nombre de ses bases) et précisant qui peut obtenir des droits de type root sur le système (via la commande sudo justement). Conséquence : la modification du fichier permet à l’installeur d’obtenir ces droits et d’effectuer les opérations prévues sans être inquiété, puisque le mot de passe de la session utilisateur n’est du coup pas réclamé.
Il ne manquerait plus qu'une faille 0-day dans un navigateur pour tout automatiser
Dans l’absolu, il faut évidemment qu’un utilisateur lance une application vérolée pour que l’exploitation de la faille se lance. Ce qui signifie que jusqu’à ce qu’Apple corrige le problème, la prudence va être largement de mise pour ce que l’on télécharge sur le web. Pendant un temps, et si la chose est possible, il est ainsi préférable de se contenter des applications récupérées sur le Mac App Store ou dont la source est clairement officielle et connue.
La situation pourrait cependant se dégrader rapidement. En tant que telle, il est impossible que la faille soit exploitée de manière automatisée, comme dans le cas d’un ver. Il suffirait toutefois, comme le suggère Ars Technica, qu’une autre faille entre en piste pour lier les deux et provoquer une situation explosive. Une brèche dans un navigateur serait idéale pour amener ce dernier à déclencher un téléchargement et l’ouverture d’un fichier binaire, qui n’aurait plus alors qu’à prendre le relai. Un duo de failles de type 0-day aux conséquences assez redoutables, surtout quand on sait que les groupes de pirates et les agences de sécurité disposent de véritables arsenaux de failles non corrigées.
Il va falloir attendre... ou faire confiance au chercheur
Actuellement, Yosemite 10.10.4 est vulnérable, autrement dit la dernière révision en cours d’OS X. Parmi les autres versions en développement, la situation diffère. La mise à jour 10.10.5, actuellement en bêta, est ainsi vulnérable elle aussi, mais The Guardian indique que la version finale contiendra bien le correctif. Le prochain OS X, El Capitan (dont la sixième bêta est sortie hier soir), n’est pour sa part pas sensible à cette exploitation.
Du côté des utilisateurs, il n’y a pas de solution, à part attendre qu’Apple corrige le tir. En attendant, Stefan Esser propose un correctif temporaire, mais il est délicat de recommander un patch non officiel pour corriger un problème aussi sensible.