Les malwares ne sont pas seulement l'apanage des systèmes Windows. Les environnements MacOS mais aussi Linux constituent aussi des cibles de choix pour les cyberpirates. Une dernière vulnérabilité (CVE-2021-4034 aka PwnKit) concerne justement les environnements Linux et touche potentiellement toutes ses distributions majeures. Celle-ci provient d'un outil système vieux de 12 ans, Polkit, qui donne à des cyberattaquants des privilèges root sur les machines visées. Autant dire qu'il s'agit d'une opportunité très forte pour de prendre le contrôle à des fins de piratage, vol de données, compromissions d'applications...

Anciennement connue sous le nom de PolicyKit, Polkit gère les privilèges utilisateurs sur les systèmes Linux en fournissant un mécanisme pour protéger les interactions et processus entre des personnes disposant de droits d'accès ad hoc et des services. Grâce à lui, les utilisateurs concernés peuvent exécuter des commandes à privilèges élevés utilisant le composant pkexec dont la première version date de mai 2009. La faille liée à ce dernier n'est pas récente, elle remonte même à 2009. Elle débouche, via de la corruption mémoire, sur la prise de contrôle de machines vulnérables à des fins d'escalade de privilèges et de gains d'accès root.

Pas de PoC PwnKit livré par Qualys mais un exploit dans la nature

Découverte par des chercheurs en sécurité de Qualys et novembre 2021, cette vuln a été dévoilée ce mardi après avoir été corrigée dans la plupart des distributions Linux. « Le scénario d'attaque le plus probable provient d'une menace interne où un utilisateur malveillant peut passer d'aucun privilège à des privilèges root complets. Du point de vue des menaces externes, si un attaquant a pu prendre pied sur un système via une autre vulnérabilité ou une violation de mot de passe, cet intrus peut alors accéder aux privilèges root complets via cette vulnérabilité », a expliqué Bharat Jogi, directeur de recherche en menace et vulnérabilité de Qualys.

Le fournisseur en sécurité, qui a livré des détails techniques sur PwnKit, ne prévoit pas de livrer un PoC d'exploit de PwnKit, estimant qu'il pourrait davantage servir aux attaquants plutôt qu'aux équipes sécurité et white hackers. « Nous nous attendons à ce que l'exploit devienne bientôt public et que les attaquants commencent à l'exploiter - c'est particulièrement dangereux pour tout système multi-utilisateurs qui autorise l'accès des shell aux utilisateurs », a noté Bojan Zdrnja, testeur d'intrusion chez SANS. Il indique ainsi avoir réussi à recréer un exploit qui fonctionnait sur une machine exécutant Ubuntu 20.04. Des hackers s'en sont toutefois chargés à sa place puisque un exploit in the wild a surgi sur la toile quelques heures après. Will Dormann, analyste des vulnérabilités au CERT/CC, a fait savoir que cet exploit était à la fois simple et universel. Le chercheur l'a ensuite testé sur un système ARM64, montrant qu'il fonctionne également sur cette architecture.

De possibles exploits sans trace

Il est plus qu'urgent de procéder aux mises à jour de ses distributions Linux (Ubuntu 14.04 et 16.04 ESM ou 18.04, 20.04 et 21.04, Red Hat...) et prioriser l'installation des derniers correctifs de sécurité. Pour ceux qui ne peuvent pas immédiatement patcher, il est recommandé d'utiliser la commande chmod 0755 /usr/bin/pkexec pour supprimer le bit SUID de pkexec, ce qui l'empêche de s'exécuter en tant que binaire. Ceux qui veulent savoir si la vulnérabilité a été exploitée sur leurs systèmes peuvent vérifier les entrées de journal indiquant que la valeur de la variable SHELL n'a pas été trouvée dans le fichier /etc/shells ou qu'une valeur de variable d'environnement contient contenu suspect. Qualys a cependant prévenu que la vuln PwnKit est également exploitable sans laisser de traces.

Ce n'est pas la première vulnérabilité Polkit découverte, cela avait déjà le cas en juin dernier par le chercheur en sécurité de GitHub Kevin Backhouse, débouchant sur de l'escalade de privilèges.