PwnKit : une faille dans « l’autre sudo » de Linux

Lumière est faite sur PwnKit, une faille qui se cachait depuis 2009 dans le composant pkexec, alternative à sudo sur les systèmes Linux.

PwnKit, une faille « universelle » ? Elle touche en tout cas de nombreuses distributions Linux dans leur configuration par défaut. Ceux qui l’ont découverte affirment l’avoir testée avec succès sur CentOS, Debian, Fedora et Ubuntu.

Immatriculée CVE-2021-4034, la vulnérabilité tire son nom du framework PolKit (ex-PolicyKit), qui gère l’interaction entre les processus avec et sans privilèges.

Le problème se trouve dans l’un des composants de PolKit : pkexec. Alternative à sudo, il permet à un utilisateur autorisé d’exécuter une commande en tant qu’autre utilisateur. Son introduction sur Linux remonte à 2009.

La faille est présente depuis lors. Dans les grandes lignes, elle permet de corrompre la mémoire en transmettant une variable NULL en argument. Conséquence : une élévation de privilèges en local. Autrement dit, la possibilité, pour tout utilisateur connecté, d’exécuter des programmes en tant qu’administrateur.

Un correctif vient d’être publié sur le dépôt public de PolKit. Les distributions Linux y ont accès depuis quelques semaines. Canonical l’a diffusé sur Ubuntu, depuis la 14.04 LTS jusqu’à la 21.04. Il requiert un redémarrage.

Red Hat aussi distribue le patch. Et propose, pour qui ne pourrait l’installer, une méthode de contournement de PwnKit.
De manière générale, pour éliminer le problème en attendant de pouvoir faire l’update, on pourra supprimer les droits de lecture et d’écriture de pkexec (chmod 0755 /usr/bin/pkexec).

correctif PwnKit

Illustration principale © isak55 – Shutterstock