IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un bogue vieux de 12 ans dans polkit permet d'obtenir des privilèges « root » sur les principales distributions GNU/Linux
Ubuntu et Red Hat ont déjà publié des correctifs

Le , par Stéphane le calme

35PARTAGES

15  0 
L'équipe de recherche Qualys a découvert une vulnérabilité de corruption de mémoire dans pkexec de polkit, un programme racine SUID qui est installé par défaut sur toutes les principales distributions Linux. Cette vulnérabilité facilement exploitable permet à tout utilisateur non privilégié d'obtenir des privilèges root complets sur un hôte vulnérable en exploitant cette vulnérabilité dans sa configuration par défaut.

Les fournisseurs Linux ont publié mardi des correctifs pour une vulnérabilité de corruption de mémoire dans un composant appelé polkit qui permet à un utilisateur connecté sans privilège d'obtenir un accès root complet sur un système dans sa configuration par défaut. Le fournisseur de sécurité Qualys a découvert la faille et publié les détails dans une divulgation coordonnée.

Polkit (anciennement connu sous le nom de PolicyKit) est un composant permettant de contrôler les privilèges à l'échelle du système dans les systèmes d'exploitation de type Unix. Il fournit un moyen organisé pour les processus non privilégiés de communiquer avec les processus privilégiés. Il est également possible d'utiliser polkit pour exécuter des commandes avec des privilèges élevés en utilisant la commande pkexec suivie de la commande destinée à être exécutée (avec la permission root).

La vulnérabilité réside dans le pkexec ; son code contient un bogue dans la gestion des pointeurs dont certains se retrouvent à référencer des zones de la mémoire qu’ils ne devraient pas. En exploitant cette faille, il est possible d’obtenir presque instantanément les privilèges d’administrateur.

Répertoriée comme étant CVE-2021-4034, la vulnérabilité a reçu un score CVSS de 7,8.

Bharat Jogi, directeur de la recherche sur les vulnérabilités et les menaces chez Qualys, a expliqué dans un billet de blog que la faille pkexec ouvre la porte aux privilèges root pour un attaquant. Les chercheurs de Qualys, a-t-il dit, ont démontré l'exploitation des installations par défaut d'Ubuntu, Debian, Fedora et CentOS, et d'autres distributions Linux sont également présumées vulnérables.


Vidéo de preuve de concept de PwnKit Exploit

« L'exploitation réussie de cette vulnérabilité permet à tout utilisateur non privilégié d'obtenir des privilèges root sur l'hôte vulnérable. Les chercheurs en sécurité de Qualys ont pu vérifier indépendamment la vulnérabilité, développer un exploit et obtenir des privilèges root complets sur les installations par défaut d'Ubuntu, Debian, Fedora et CentOS. D'autres distributions Linux sont probablement vulnérables et probablement exploitables. Cette vulnérabilité est cachée depuis plus de 12 ans et affecte toutes les versions de pkexec depuis sa première version en mai 2009 (commit c8c3d83, "Ajouter une commande pkexec(1)".

« Dès que notre équipe de recherche a confirmé la vulnérabilité, Qualys s'est engagé dans une divulgation responsable de la vulnérabilité et s'est coordonné avec les fournisseurs et les distributions open source pour annoncer la vulnérabilité ».

Le problème se produit lorsque la fonction main() de pkexec traite les arguments de ligne de commande et que argc (ARGument Count) est égal à zéro. La fonction essaie quand même d'accéder à la liste des arguments et finit par essayer d'utiliser un argv vide (ARGument Vector des chaînes d'arguments de la ligne de commande). En conséquence, la mémoire hors limites est lue et écrite, ce qu'un attaquant peut exploiter pour injecter une variable d'environnement qui peut entraîner le chargement de code arbitraire à partir du stockage et l'exécution par le programme en tant que root.

« Cette écriture hors limites nous permet de réintroduire une variable d'environnement "non sécurisée" (par exemple, LD_PRELOAD) dans l'environnement de pkexec », explique Jogi. « Ces variables 'non sécurisées' sont normalement supprimées (par ld.so) de l'environnement des programmes SUID avant que la fonction main() ne soit appelée ».

Le fait que ces variables puissent être réintroduites rend le code vulnérable. Au moins la technique d'exploitation proposée par Qualys – injecter la variable GCONV_PATH dans l'environnement de pkexec pour exécuter une bibliothèque partagée en tant que root – laisse des traces dans les fichiers journaux.

Jogi a déclaré que polkit fonctionne également avec des systèmes d'exploitation non Linux tels que Solaris et BSD. L'exploitabilité de ces systèmes n'a pas été testée, mais OpenBSD, a-t-il dit, n'est pas affecté car le noyau n'exécute pas execve() (exécuter un programme par son nom de chemin) si argc vaut 0.

Des correctifs sont disponibles pour diverses distributions, notamment Red Hat et Ubuntu.

Dans un avis de sécurité, Red Hat a fait le communiqué suivant :

« Red Hat a connaissance d'une vulnérabilité trouvée dans pkexec qui permet à un utilisateur authentifié d'effectuer une attaque par élévation de privilèges.

« Le package polkit est conçu pour définir et gérer des politiques qui permettent aux processus non privilégiés de communiquer avec des processus privilégiés sur un système Linux. Pkexec, qui fait partie de polkit, est un outil qui permet à l'utilisateur d'exécuter des commandes en tant qu'autre utilisateur conformément aux définitions de politique polkit à l'aide de la fonctionnalité setuid. La vulnérabilité trouvée dans pkexec permet à un attaquant local non privilégié d'élever ses privilèges, en contournant toute authentification et politique en raison d'une mauvaise gestion du vecteur d'argument du processus.

« Le principal risque pour les clients est la possibilité qu'un utilisateur non privilégié obtienne des privilèges administratifs sur les systèmes concernés. L'attaquant doit disposer d'un accès de connexion au système cible pour mener à bien l'attaque.

« Ce problème est classé CVE-2021-4034 avec un impact de gravité Important.

« Les versions de produits Red Hat suivantes sont concernées. "Concerné" signifie que la vulnérabilité est présente dans le code du produit, indépendamment de l'utilisation ou des mesures d'atténuation, qui peuvent résoudre si le produit est vulnérable.

  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Virtualisation Red Hat 4

« Le programme pkexec ne valide pas correctement le nombre d'arguments qui lui sont transmis. Ce problème conduit finalement à des tentatives d'exécution de variables d'environnement en tant que commandes. Lorsqu'il est correctement exploité, ce problème conduit pkexec à exécuter du code arbitraire en tant qu'utilisateur privilégié, accordant à l'attaquant une élévation de privilèges locale ».

Si la lumière est faite sur ce bogue 12 ans plus tard, Ryan Mallon rappelle qu'il l’avait déjà identifié en 2013 et il l’avait décrit en détail dans une note de blog, même s'il n'avait pas réussi à fournir un PoC : « Lol, j'ai blogué sur cette vulnérabilité de polkit en 2013. Je n'ai pas réussi à trouver une véritable voie d'exploitation, mais j'ai identifié la cause première ».


avis de sécurité Ubuntu
avis de sécurité Red Hat

Sources : Qualys (1, 2), Ryan Mallon

Et vous ?

Sur quel système d'exploitation êtes-vous ?
Êtes-vous concerné par cette faille ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 31/01/2022 à 8:46
Oui en effet. 12 après. Ou 9 ans après un avertissement non pris au sérieux, en 2013
Il y en a plein des cas comme ça sous Windows : badtunnel : 20 ans.
2  0 
Avatar de marsupial
Expert éminent https://www.developpez.com
Le 27/01/2022 à 17:02
Patché avant de lire l'article : rapide et efficace comme toujours.
1  0 
Avatar de TotoParis
Membre expérimenté https://www.developpez.com
Le 27/01/2022 à 20:53
Citation Envoyé par marsupial Voir le message
Patché avant de lire l'article : rapide et efficace comme toujours.
Oui en effet. 12 après. Ou 9 ans après un avertissement non pris au sérieux, en 2013. Reste à voir toutes les installations concernées mettre en oeuvre ce patch.
Sinon quand je lis ceci "Le programme pkexec ne valide pas correctement le nombre d'arguments qui lui sont transmis" j'hallucine complètement.

Question : Le groupe de ransomware Lockbit qui revendique sur son site un vol de données au ministère de la Justice a-t'il utilisé cette faille même indirectement ?
2  1 
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 27/01/2022 à 23:34
Citation Envoyé par Stéphane le calme Voir le message
Patch dispo chez Debian depuis le 25 janvier.
1  0 
Avatar de kain_tn
Expert éminent https://www.developpez.com
Le 28/01/2022 à 9:13
Citation Envoyé par TotoParis Voir le message

Question : Le groupe de ransomware Lockbit qui revendique sur son site un vol de données au ministère de la Justice a-t'il utilisé cette faille même indirectement ?
Pas que je sache: ils passent par ESXi.
1  0 
Avatar de mapmip
Membre averti https://www.developpez.com
Le 31/01/2022 à 19:12
et si le serveur linux en question ne possède que le login ROOT,
est-ce que l'on est concerné par cette menace ?
0  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 31/01/2022 à 20:35
et si le serveur linux en question ne possède que le login ROOT,
est-ce que l'on est concerné par cette menace ?
Tu es confronté à toute sorte d'autre menace. Il ne faut pas travailler en root.
0  0 
Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 01/02/2022 à 14:42
Le gars a fait un billet sur la vulnérabilité en 2013 ...je suppose qu'il n'a pas fait qu'en parler dans son coin via son blog, mais qu'il a alerter les personnes pouvant l'aider à résoudre ce problème.
...je l'espère. ^^'
0  0