Le bug du service système Linux vous donne racine sur toutes les distributions majeures

Linux system service bug gives you root on every major distro

Une vulnérabilité dans le composant pkexec de Polkit qui est présente dans la configuration par défaut de toutes les principales distributions Linux peut être exploitée pour obtenir des privilèges root complets sur le système, avertissent aujourd’hui les chercheurs.

Identifié comme CVE-2021-4034 et nommé PwnKit, le problème de sécurité a été suivi jusqu’au commit initial de pkexec, il y a plus de 12 ans, ce qui signifie que toutes les versions de Polkit sont affectées.

Faisant partie du cadre d’application open source Polkit qui négocie l’interaction entre les processus privilégiés et non privilégiés, pkexec permet à un utilisateur autorisé d’exécuter des commandes en tant qu’autre utilisateur, se doublant d’une alternative à sudo.

Facile à exploiter, PoC attendu prochainement

Des chercheurs de la société de sécurité de l’information Qualys ont découvert que le programme pkexec pouvait être utilisé par des attaquants locaux pour augmenter les privilèges de root sur les installations par défaut d’Ubuntu, Debian, Fedora et CentOS.

Ils avertissent que PwnKit est probablement exploitable sur d’autres systèmes d’exploitation Linux également.

Bharat Jogi, directeur de la recherche sur les vulnérabilités et les menaces chez Qualys explique que PwnKit est « une vulnérabilité de corruption de mémoire dans Polkit, qui permet à tout utilisateur non privilégié d’obtenir des privilèges root complets sur un système vulnérable en utilisant la configuration polkit par défaut »,

Le chercheur note que le problème est caché à la vue de tous depuis la première version de pkexec inn en mai 2009. La vidéo ci-dessous démontre l’exploitabilité du bug :

L’exploitation de la faille est si facile, selon les chercheurs, que le code d’exploitation de la preuve de concept (PoC) devrait être rendu public dans quelques jours seulement. L’équipe de recherche Qualys ne publiera pas de PoC pour PwnKit.

Qualys a signalé le problème de sécurité de manière responsable le 18 novembre 2021 et a attendu qu’un correctif soit disponible avant de publier le détails techniques derrière PwnKit.

La société recommande fortement aux administrateurs de donner la priorité à l’application des correctifs que les auteurs de Polkit publié sur leur GitLab il y a quelques heures.

Les distributions Linux ont eu accès au correctif quelques semaines avant la divulgation coordonnée d’aujourd’hui de Qualys et devraient publier les packages pkexec mis à jour à partir d’aujourd’hui.

Une atténuation temporaire pour les systèmes d’exploitation qui n’ont pas encore poussé de correctif consiste à retirer à pkexec les droits de lecture/écriture avec la commande suivante :

chmod 0755 /usr/bin/pkexec

« Les utilisateurs qui souhaitent rechercher des signes d’exploitation de PwnKit peuvent le faire en vérifiant les journaux pour « La valeur de la variable SHELL n’a pas été trouvée dans le fichier /etc/shells » ou « La valeur de la variable d’environnement […] contient du contenu suspect.” entrées.

Cependant, Qualys note qu’exploiter PwnKit est possible sans laisser de trace.

L’année dernière, Kevin Backhouse, chercheur au GitHub Security Lab, a découvert une autre ancienne vulnérabilité d’escalade de privilèges affectant Polkit.

Le bug était présent depuis sept ans, depuis la version 0.113 du composant et affectait les distributions Linux populaires, notamment RHEL 8, Fedora 21 (ou version ultérieure), Ubuntu 20.04 et les versions instables de Debian (« bullseye ») et ses dérivés.