Ubuntu, Debian, Fedora, CentOS et toutes les distros qui en dérivent sont vulnérables à une faille d’escalade de privilèges… vieille de 12 ans !

L’information fait grand bruit depuis quelques heures sur les réseaux sociaux. Une vulnérabilité touche pour ainsi dire toutes les distributions (distros) de Linux et ceci depuis plus de 12 ans ! Dénommée PwnKit ou CVE-2021-4034, celle-ci permet à un attaquant ayant un accès local d’outrepasser les droits du profil utilisé afin de lancer des programmes et commandes en mode administrateur sans connaître le mot de passe administrateur. Autrement dit, les attaquants qui ont déjà une emprise sur une machine vulnérable peuvent exploiter cette vulnérabilité pour exécuter une commande malveillante avec les plus hauts droits systèmes disponibles.

Selon les chercheurs de Qualys qui ont divulgué la faille, « le scénario d’attaque le plus probable est celui d’une menace interne, dans lequel un utilisateur malveillant peut passer d’une absence totale de privilèges à des privilèges complets d’administrateur. Du point de vue d’une menace externe, si un attaquant a pu prendre pied sur un système par le biais d’une autre vulnérabilité ou d’une violation de mot de passe, cet attaquant peut ensuite accéder à tous les privilèges root grâce à cette vulnérabilité ».

Ce qui inquiète les acteurs de la sécurité, c’est que cette faille est extrêmement simple à mettre en œuvre. Il suffit d’utiliser la commande Pkexec avec un script exploitant la corruption mémoire.  D’ailleurs, quelques heures à peine qu’elle ait été dévoilée par Qualys, des centaines de PoCs et scripts trainaient sur le net montrant comment la mettre en œuvre.

Voici ce qu’il faut retenir de cette faille :

1/ Cette faille est locale et ne peut être directement exploitée à distance sans login. Il faut avoir pris le contrôle de la machine préalablement grâce à un login/mot de passe dérobé.

2/ Cette faille ne touche pas directement le kernel Linux mais l’utilitaire PolicyKit (plus généralement désigné sous le nom de ‘polkit’). Une version corrigée de PolicyKit est disponible sous GitHub.

3/ PwnKit est exploitable même si le démon Polkit lui-même ne fonctionne pas. Ce qui la rend effectivement plus simple à exploiter et plus dangereuse.

Pour contrer la menace, il faut impérativement et au plus vite patcher PolKit. La plupart des distros Linux ont déjà publié une mise à jour de sécurité. Pour vérifier si votre Linux est vulnérable, saisissez la commande « pkexec –version ». Si celle-ci est supérieure ou égale à « 0.120 » vous êtes protégé.

Remarque : les utilisateurs Windows qui utilisent WSL (Windows Subsystem for Linux) pour lancer des programmes et commandes Linux directement depuis Windows sont eux aussi vulnérables à cette faille, comme le montre la capture ci-dessous.