Vulnérabilité root dans sudo, affectant Linux Mint et Elementary OS.

Dans l'outil sudo, utilisé pour organiser l'exécution de commandes au nom d'autres utilisateurs, une vulnérabilité a été identifiée une vulnérabilité (CVE-2019-18634), permettant d'élever ses privilèges système au niveau de l'utilisateur root. Le problème se manifeste depuis la version sudo 1.7.1 uniquement lorsque l'option «pwfeedback» est utilisée dans le fichier /etc/sudoers, qui est désactivée par défaut, mais activée dans certaines distributions comme Linux Mint et Elementary OS. Le problème a été résolu dans la version sudo 1.8.31, publiée il y a quelques heures. Dans les distributions, la vulnérabilité reste encore non corrigée.

L'option «pwfeedback» active l'affichage du caractère «*» après chaque caractère saisi lors de la saisie du mot de passe. En raison de l'erreur dans l'implémentation de la fonction getln(), définie dans le fichier tgetpass.c, une chaîne de mot de passe transmise via le flux d'entrée standard (stdin) peut, dans certaines conditions, ne pas tenir dans le tampon alloué et écraser d'autres données sur la pile. Le dépassement de tampon se produit lors de l'exécution du code sudo avec des privilèges root.

L'essence du problème est que lors de l'utilisation du caractère spécial ^U (effacement de la ligne) pendant l'entrée et en cas d'échec de l'opération d'écriture, le code responsable de l'effacement des caractères affichés «*» réinitialise les données sur la taille disponible du tampon, mais ne restitue pas la position actuelle dans le tampon à sa valeur initiale. Un autre facteur contribuant à l'exploitation est l'absence de désactivation automatique du mode «pwfeedback» lorsque les données ne proviennent pas du terminal, mais d'un flux d'entrée (cette lacune permet de créer des conditions pour qu'une erreur d'écriture se produise, par exemple, sur des systèmes avec des canaux unidirectionnels non nommés l'erreur se produit lorsque l'on tente d'écrire au-delà de la fin du canal de lecture).

Comme l'attaquant peut contrôler totalement l'écrasement des données dans la pile, il n'est pas difficile de créer un exploit permettant d'élever ses privilèges au niveau de l'utilisateur root. Le problème peut être exploité par tout utilisateur, quel que soit ses droits d'utilisation de sudo et les paramètres spécifiques à l'utilisateur dans sudoers. Pour bloquer le problème, il convient de s'assurer qu'aucune option «pwfeedback» n'est présente dans /etc/sudoers et de la désactiver si nécessaire («Defaults !pwfeedback»). Pour vérifier la présence du problème, le code suivant peut être exécuté :

$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Mot de passe : Erreur de segmentation

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster