Les utilisateurs de Linux ont reçu mardi une dose importante de mauvaises nouvelles : une vulnérabilité vieille de 12 ans dans un outil système appelé Polkit donne aux attaquants des privilèges root illimités sur les machines exécutant la plupart des principales distributions du système d'exploitation open source.
Auparavant appelé PolicyKit, Polkit gère les privilèges à l'échelle du système dans les systèmes d'exploitation de type Unix. Il fournit un mécanisme permettant aux processus non privilégiés d'interagir en toute sécurité avec des processus privilégiés. Il permet également aux utilisateurs d'exécuter des commandes avec des privilèges élevés en utilisant un composant appelé pkexec, suivi de la commande.
Facile à exploiter et fiable à 100 %
Comme la plupart des systèmes d'exploitation, Linux fournit une hiérarchie de niveaux d'autorisation qui contrôle quand et quelles applications ou utilisateurs peuvent interagir avec les ressources système sensibles. La conception vise à limiter les dommages qui peuvent survenir si un utilisateur n'est pas digne de confiance pour avoir le contrôle administratif d'un réseau ou si l'application est piratée ou malveillante.
Depuis 2009, pkexec contient une vulnérabilité de corruption de mémoire que les personnes ayant un contrôle limité sur une machine vulnérable peuvent exploiter pour élever les privilèges jusqu'à root. L'exploitation de la faille est triviale et, selon certains, fiable à 100 %. Les attaquants qui ont déjà un pied sur une machine vulnérable peuvent abuser de la vulnérabilité pour s'assurer qu'une charge utile ou une commande malveillante s'exécute avec les droits système les plus élevés disponibles. PwnKit, comme les chercheurs appellent la vulnérabilité, est également exploitable même si le démon Polkit lui-même ne fonctionne pas.
PwnKit a été découvert par des chercheurs de la société de sécurité Qualys en novembre et a été divulgué mardi après avoir été corrigé dans la plupart des distributions Linux. PwnKit est suivi en tant que CVE-2021-4034.
Dans un e-mail, Bharat Jogi, directeur de la recherche sur les menaces de vulnérabilité chez Qualys, a écrit :
Jogi a déclaré que les exploits nécessitent un accès local authentifié à la machine vulnérable et ne peuvent pas être exécutés à distance sans une telle authentification. Voici une vidéo de l'exploit en action.
Pour l'instant, Qualys ne publie pas de code d'exploitation de preuve de concept, car le code sera plus une aubaine pour les black hats que pour les défenseurs. Le code PoC a été publié par une autre source, et les chercheurs ont déclaré que ce n'est qu'une question de temps avant que PwnKit ne soit exploité à l'état sauvage.
"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 utilisateurs au shell", Bojan Zdrnja, testeur d'intrusion et gestionnaire chez SANS. , écrit. Le chercheur a déclaré avoir réussi à recréer un exploit qui fonctionnait sur une machine exécutant Ubuntu 20.04.
Les chercheurs de Qualys ne sont pas les seuls à tomber sur cette vulnérabilité, ou du moins sur un bogue très similaire. En 2013, le chercheur Ryan Mallon a publiquement signalé à peu près le même bogue et a même écrit un correctif, bien qu'il n'ait finalement trouvé aucun moyen d'exploiter la vulnérabilité. Et en juin dernier, le chercheur en sécurité de Github, Kevin Backhouse, a également signalé une vulnérabilité d'escalade de privilèges. Il a reçu la désignation de suivi CVE-2021-3560 et un correctif des principaux distributeurs Linux.
Les principaux distributeurs Linux ont publié des correctifs pour la vulnérabilité, et les professionnels de la sécurité exhortent vivement les administrateurs à prioriser l'installation du correctif. Ceux qui ne peuvent pas corriger immédiatement doivent 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 root lorsqu'il est exécuté par un utilisateur non privilégié . Les avis de Debian, Ubuntu et Red Hat sont ici, ici et ici.
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 soit "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. Qualys a cependant averti les gens que PwnKit est également exploitable sans laisser de traces.