Une vulnérabilité présente depuis 12 ans dans polkit permettait d'obtenir les privilèges root 

Il y a quelques jours, la nouvelle a éclaté que L'équipe de recherche de Qualys a découvert une vulnérabilité de corruption de mémoire dans polkit pkexec, un programme SUID root installé par défaut sur toutes les principales distributions Linux.

Cette vulnérabilité facilement exploitable permettait à 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.

polkit (anciennement connu sous le nom de PolicyKit) est un composant pour le contrôle des privilèges à l'échelle du système sur 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, et 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 qu'il est destiné à exécuter (avec l'autorisation root).

À propos de la vulnérabilité

Vulnérabilité réside dans pkexec, pour votre code contient une erreur de gestion du pointeur, dont certaines finissent par référencer des zones de mémoire qui ne devraient pas. En exploitant cette faille, il est possible d'obtenir des privilèges d'administrateur presque instantanément.

Cataloguée comme CVE-2021-4034, la vulnérabilité a reçu un score CVSS de 7,8 et à laquelle l'équipe Qualys a expliqué dans un article 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 montré l'exploitation des installations par défaut d'Ubuntu, Debian, Fedora et CentOS, et d'autres distributions Linux sont également considérées comme vulnérables.

"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 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 (confirmer c8c3d83, "Ajouter une commande pkexec(1)").

"Dès que notre équipe de recherche a confirmé la vulnérabilité, Qualys s'est engagé à divulguer la vulnérabilité de manière responsable 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() par pkexec traiter les arguments de la ligne de commande et que argc vaut zéro. La fonction essaie toujours d'accéder à la liste d'arguments et finit par essayer d'utiliser un rgvvoid (ARGument Vector of command line arguments strings). En conséquence, la mémoire est lue et écrite hors limites, ce qu'un attaquant peut exploiter pour injecter une variable d'environnement pouvant entraîner le chargement de code arbitraire.

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 pkexec pour exécuter une bibliothèque partagée en tant que root) laisse des traces dans les fichiers journaux.

Dans un avis de sécurité, Red Hat a publié la déclaration suivante :

"Red Hat est au courant d'une vulnérabilité trouvée dans pkexec qui permet à un utilisateur authentifié d'effectuer une attaque d'élévation de privilèges."

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

Il est important de mentionner que la vulnérabilité avait déjà été identifiée en 2013 et avait été décrit en détail dans un article de blog, même si aucun PoC n'avait été fourni :

"Lol, j'ai écrit sur cette vulnérabilité de polkit en 2013. Je n'ai pas pu trouver de véritable chemin d'exploitation, mais j'ai identifié la cause première."

Enfin, si cela vous intéresse de pouvoir en savoir plus, vous pouvez consulter les détails dans le lien suivant


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.