Vulnérabilité dans glibc permettant d'obtenir un accès root sur le système.

La société Qualys a identifié une vulnérabilité dangereuse (CVE-2023-6246) dans la bibliothèque standard C Glibc, permettant, par des manipulations lors de l'exécution d'applications SUID, d'exécuter son propre code avec des privilèges élevés. Les chercheurs ont pu développer un exploit fonctionnel permettant d'obtenir des droits root en manipulant les arguments de la ligne de commande lors du lancement de l'outil su.

La vulnérabilité est causée par un dépassement de tampon dans la fonction __vsyslog_internal(), utilisée lors de l'appel des fonctions syslog() et vsyslog(). Le problème survient en raison d'une erreur lors de la tentative d'affichage d'un nom d'application trop long via le macro SYSLOG_HEADER. Lors de la tentative d'extension du tampon en tenant compte du nom long, un échec se produit, après quoi les données sont écrites dans l'ancien tampon de taille initiale plus petite.

Lors de l'organisation d'une attaque via l'outil su, l'attaquant peut modifier le nom du processus lors du lancement de l'application en remplaçant la valeur argv[0], qui est utilisée pour obtenir des informations sur le nom du programme lors de l'affichage dans le journal, et parvenir à une réécriture contrôlée des données au-delà du tampon alloué. De plus, le dépassement peut être utilisé pour réécrire la structure nss_module dans la bibliothèque nss afin de créer une bibliothèque partagée et de la charger avec des privilèges root.

Le problème se manifeste à partir de la version glibc 2.37, publiée en août 2022 et comprenant un changement qui gère la situation lors de tentatives d'écriture de messages trop volumineux. Le correctif introduisant la vulnérabilité a été rétroporté dans la branche glibc 2.36 et dans les paquets des distributions contenant des versions plus anciennes de glibc, car le correctif en question corrigeait la vulnérabilité CVE-2022-39046, entraînant une fuite de données de la heap. Il s'avère que la correction d'une vulnérabilité non dangereuse a conduit à l'émergence d'un problème critique. Notamment, une vulnérabilité similaire dans la fonction vsyslog() de la bibliothèque libc 5.4.3 avait été signalée dès 1997.

La vulnérabilité a été confirmée dans Debian 12/13, Ubuntu 23.04/23.10 et Fedora 37-39. L'exploitation pour permettre à un utilisateur non privilégié d'acquérir les droits root a été démontrée dans un environnement Fedora 38 entièrement mis à jour, avec tous les mécanismes de protection par défaut activés. La vulnérabilité ne peut être exploitée que localement, car elle nécessite l'envoi de plus de 1024 octets via le paramètre argv[0] ou l'argument ident dans la fonction openlog().

Le correctif de la vulnérabilité a été intégré il y a quelques heures dans la base de code de Glibc et fera partie de la mise à jour de demain de Glibc 2.39, en même temps que la correction de deux autres vulnérabilités (CVE-2023-6779, CVE-2023-6780), qui affectent également le code __vsyslog_internal() et entraînent un débordement de tampon. De plus, la société Qualys a averti de la détection d'un débordement de tampon dans l'implémentation de la fonction qsort(), qui n'a pas été considérée par les développeurs de Glibc comme une vulnérabilité, car son exploitation nécessite l'utilisation d'une fonction de comparaison atypique lors de l'appel de qsort, retournant la différence entre les paramètres comparés.

Le statut de correction des vulnérabilités dans les distributions peut être évalué sur les pages suivantes : Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Vous pouvez tester la vulnérabilité du système avec la commande suivante : $ (exec -a "`printf ‘28000x’ 1`" /usr/bin/su < /dev/null)
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