Une faille présente dans Polkit depuis 7 ans touche Ubuntu, Debian, RHEL, etc.
Depuis 7 ans, le service système Polkit est vulnérable à une faille de sécurité importante qui permet à un attaquant en local d'effectuer une élévation de privilèges et de devenir "root" sur la machine cible.
Référencée avec le nom CVE-2021-3560, cette faille de sécurité touche de nombreuses distributions différentes. D'après Kevin Backhouse, qui est à l'origine de cette découverte, cette faille de sécurité est présente dans Polkit (PolicyKit) depuis le 9 novembre 2013. Toutes les versions de Polkit de la 0.113 à la 0.118 sont affectées. En complément, il s'avère que les distributions basées sur Debian et sur Polkit 0.105, sont vulnérables également. Des systèmes populaires sont affectés, tels que RHEL 8, Fedora 21 (ou supérieur), Debian 11 (Bullseye) ou encore Ubuntu 20.04. À l'inverse, RHEL 7, Debian 10 et Ubuntu 18.04 ne sont pas vulnérables.
Sur le site d'ArchLinux, voici la description associée à Polkit : "polkit est un ensemble d'outils permettant de gérer des règles pour autoriser la communication entre, d'un côté, des processus privilégiés offrant des services et de l'autre, des processus non privilégiés.". Ce qui permet de mieux comprendre l'utilité de cet outil et surtout que la faille permette une élévation de privilèges sur la machine. Par exemple, voici une fenêtre d'authentification générée par Polkit :
Kevin Backhouse précise que "la vulnérabilité est étonnamment facile à exploiter. Tout ce qu'il faut, c'est exécuter quelques commandes dans la console en utilisant uniquement des outils standard, comme bash, kill et dbus-send. Il précise également que la faille est déclenchée par l'envoi d'une commande via dbus-send, mais en tuant le processus alors que polkit est toujours en train de traiter la demande. Grâce à cette méthode, il parvient à bypasser l'authentification et à effectuer une élévation de privilèges, tout en étant avec un utilisateur standard à la base.
La version 0.119 de Polkit permet de se protéger contre cette vulnérabilité. Cette version est disponible depuis le 03 juin 2021. Vous pouvez l'installer sur vos systèmes dès à présent.
Pour plus de détails, lisez l'article de Kevin Backhouse sur GitHub.