Vulnérabilité dans sudo qui permet une élévation de privilèges lors de l'utilisation de règles spécifiques

Dans l'utilitaire Sudo, utilisé pour organiser l'exécution de commandes pour le compte d'autres utilisateurs, identifié vulnérabilité (CVE-2019-14287), qui vous permet d'exécuter des commandes avec les droits root, s'il existe des règles dans les paramètres sudoers dans lesquelles dans la section de vérification de l'ID utilisateur après le mot-clé d'autorisation « ALL », il y a une interdiction explicite d'exécuter avec les droits root (« ... (TOUS, !root)..." ). La vulnérabilité n'apparaît pas dans les configurations par défaut des distributions.

Si sudoers dispose de règles valides, mais extrêmement rares en pratique, qui permettent l'exécution d'une certaine commande sous l'UID de tout utilisateur autre que root, un attaquant ayant le pouvoir d'exécuter cette commande peut contourner la restriction établie et exécuter la commande avec droits racines. Pour contourner la limitation, essayez simplement d'exécuter la commande spécifiée dans les paramètres avec l'UID « -1 » ou « 4294967295 », ce qui conduira à son exécution avec l'UID 0.

Par exemple, s'il existe une règle dans les paramètres qui donne à tout utilisateur le droit d'exécuter le programme /usr/bin/id sous n'importe quel UID :

monhôte ALL = (ALL, !root) /usr/bin/id

ou une option qui permet l'exécution uniquement pour un utilisateur spécifique bob :

mon hôte bob = (TOUS, !root) /usr/bin/id

L'utilisateur peut exécuter « sudo -u '#-1' id » et l'utilitaire /usr/bin/id sera lancé en tant que root, malgré l'interdiction explicite dans les paramètres. Le problème est dû à l'oubli des valeurs spéciales « -1 » ou « 4294967295 », qui n'entraînent pas de modification de l'UID, mais comme sudo lui-même s'exécute déjà en tant que root, sans modifier l'UID, la commande cible est également lancée. avec les droits root.

Dans les distributions SUSE et openSUSE, sans spécifier « NOPASSWD » dans la règle, il existe une vulnérabilité non exploitable, puisque dans sudoers, le mode « Defaults targetpw » est activé par défaut, qui vérifie l'UID par rapport à la base de données de mots de passe et vous invite à saisir le mot de passe de l'utilisateur cible. Pour de tels systèmes, une attaque ne peut être menée que s'il existe des règles de la forme :

monhôte ALL = (ALL, !root) NOPASSWD : /usr/bin/id

Problème résolu dans la version Sud 1.8.28. Le correctif est également disponible sous le formulaire correctif. Dans les kits de distribution, la vulnérabilité a déjà été corrigée dans Debian, Arch Linux, SUSE / openSUSE, Ubuntu, Gentoo и FreeBSD. Au moment de la rédaction de cet article, le problème n'est toujours pas résolu dans RHEL и Fedora. La vulnérabilité a été identifiée par des chercheurs en sécurité d'Apple.

Source: opennet.ru

Ajouter un commentaire