Un bug particulièrement banal dans un logiciel présent par défaut dans toutes les distributions GNU/Linux permet d’avoir facilement les privilèges d’administrateur.
Les chercheurs en sécurité de Qualys ont trouvé une faille critique (CVE-2021-4034) qui affecte toutes les distributions GNU/Linux et qui permet à n’importe quel utilisateur d’obtenir les privilèges « root ». C’est-à-dire le contrôle total du système.
Cette faille se trouve dans le paquet logiciel « Polkit ». Installé par défaut dans toutes les distributions Linux, il permet d’attribuer temporairement des droits d’administrateur à des processus non privilégiés. Grâce à la commande « pkexec », il permet aussi à un utilisateur d’exécuter des commandes avec des droits d’administrateur. Ce qui est très pratique.
Malheureusement, le code de « pkexec » contient un bug dans la gestion des pointeurs dont certains se retrouvent à référencer des zones de la mémoire qu’ils ne devraient pas. En exploitant cette faille, il est possible d’obtenir presque instantanément les privilèges d’administrateur, comme le montre une vidéo réalisée par Qualys.
Baptisée « PwnKit », cette faille est franchement banale, et il n’a fallu que quelques heures après la publication de la note de blog de Qualys pour voir apparaître un premier code d’exploitation dans l’espace public.
Il est étonnant que cette erreur n’ait pas été corrigée avant, compte tenu du rôle assez critique de Polkit et de sa très large diffusion. L’informaticien Ryan Mallon l’avait déjà identifiée en 2013 et il l’avait décrite en détail dans une note de blog. Il dit même avoir envoyé un patch aux auteurs du logiciel, mais rien ne s’est passé. Il est probable que dans le milieu des pirates, cette information ne soit pas passée inaperçue.
Les distributions Ubuntu et Red Hat ont d’ores et déjà publié un patch pour les versions supportées de leur système d’exploitation. Les autres devraient le faire prochainement.
En attendant, il est possible d’évacuer le risque en modifiant les droits de l’exécutable « pkexec » avec la commande chmod. A noter, enfin, que cette faille ne peut pas être exploitée à distance. Il faut déjà être connecté au système pour le faire.
Source : Qualys