Une importante faille de sécurité a été découverte dans les systèmes de type Unix, les distributions Linux étant toutes concernées. Elle permet, si exploitée, d’élever les privilèges d’un utilisateur. Les chercheurs qui l’ont découverte n’excluent pas une possible attaque distante.
De nombreux systèmes d’exploitation basés sur Unix sont donc concernés par une vulnérabilité dans la gestion de la mémoire vive. Chaque application possède ainsi une pile, dont la taille grandit ou réduit en mémoire en fonction des besoins, au point parfois de se retrouver proche d’autres zones mémoires. La brèche permet de créer une collision avec ces dernières, un procédé qui ne devrait normalement pas être possible.
Collision et écrasement de zones de mémoire vive
La vulnérabilité a été découverte par Qualys, qui avait récemment alerté d’une autre faille dans Sudo. Dans un billet de blog publié hier soir, elle avertit que de très nombreux systèmes sont touchés, notamment les BSD (OpenBSD, NetBSD et FreeBSD), Solaris et a priori toutes les distributions Linux. La situation d’Android n’est pas encore arrêtée sur ce problème.
La société précise qu’Apple et Microsoft ont été avertis, dans le cas où la faille serait directement exploitable, ou détournée pour s’adapter aux spécificités de Windows et macOS.
La pile est, comme indiqué, un ensemble de données en mémoire dont la taille peut varier. Normalement, des protections existent depuis 2010 (stack page-guard) pour empêcher toute collision de cette pile avec les zones de mémoire adjacentes (stack overflow), contenant des informations différentes. La solution, poussée initialement par Red Hat, avait été ensuite proposée par Linus Torvalds pour intégration dans le kernel Linux.
La technique utilisée par Qualys consiste en fait à réintroduire les grandes lignes de la faille de 2010. Elle permet du coup de contourner ces protections, la rendant dangereuse. Des données de la pile peuvent alors déborder et écraser les autres, ou inversement.
Notez également que la vulnérabilité gagne en potentiel si elle est associée à d’autres failles. C’est notamment le cas de celle dans Sudo : combinées, les deux brèches permettent d'obtenir des droits root pour n’importe quel utilisateur.
D’une élévation de privilèges à une possible exploitation distante
La faille, nommée Stack Clash par les chercheurs, permet donc d’élever les privilèges d’un utilisateur local. En plus des effets inhérents à ce processus – qui permettrait alors de déclencher des opérations auxquelles l’utilisateur n’aurait normalement pas droit – Qualys avertit d’un autre danger.
Il y a en effet risque d’exploitation chez les prestataires fournissant de l’hébergement. Un utilisateur ayant la main sur un serveur peut ainsi exploiter la brèche pour créer une collision avec des processus appartenant à d’autres clients, mais stockés eux aussi dans la mémoire vive.
Par ailleurs, même si Qualys explique que ses quelques tests dans ce domaine n’ont encore rien donné, une attaque à distance reste théoriquement possible.
De nombreux éditeurs sur le pied de guerre
Exploitable dans une vaste liste de systèmes, la faille a provoqué un remue-ménage. Tous les éditeurs concernés travaillent actuellement sur des mises à jour que tous les utilisateurs doivent ou devront installer au plus vite, selon leur disponibilité.
Red Hat a réagi hier au problème, indiquant au passage que la vulnérabilité était estampillée CVE-2017-1364 pour le kernel Linux et CVE-2017-1366 pour glibc. Des patchs sont déjà disponibles, mais ils ne sont pas exempts de problèmes. Celui pour le kernel provoque ainsi un chevauchement de valeurs dans /proc/meminfo, pouvant entrainer des soucis de performances, en dépit de son efficacité. L’éditeur précise qu’une autre mise à jour pourrait arriver plus tard.
Une bonne partie des systèmes affectés disposent désormais d’un ou plusieurs patchs de sécurité. SI votre système n’en dispose pas encore, Qualys indique que la diffusion est probablement imminente. Il est chaudement recommandé de vérifier leur présence dans le gestionnaire de mises à jour, et de laisser ces dernières sur un mode automatique.
Pas de détails avant qu'une majorité de PC soit mise à jour
La société de sécurité précise en outre que les développeurs qui aimeraient réaliser un exploit basé sur cette faille devraient se pencher sur le logiciel Exim sur une distribution Debian en architecture i386. Qualys ne dit pas exactement comment procéder, mais montre simplement la voie.
Enfin, l’entreprise indique que les détails de la faille seront bien publiés, mais une fois un délai de sécurité passé, afin qu’une majorité de machines concernées soit d’abord mise à jour.