Vulnérabilité dans Glibc ld.so qui permet d'obtenir les privilèges root dans le système

Qualys a identifié une vulnérabilité critique (CVE-2023-4911) dans l'éditeur de liens ld.so, qui fait partie de la bibliothèque système C Glibc (GNU libc). Cette vulnérabilité permet à un utilisateur local d'élever ses privilèges en spécifiant des données spécialement conçues dans la variable d'environnement GLIBC_TUNABLES avant d'exécuter un fichier exécutable avec le privilège administrateur (suid root), par exemple /usr/bin/su.

La possibilité d'exploiter avec succès cette vulnérabilité a été démontrée dans Fedora 37 et 38. Ubuntu 22.04 et 23.04, Debian 12 et 13. Cette vulnérabilité devrait également affecter d'autres distributions utilisant Glibc, notamment celles basées sur la bibliothèque système C Musl, comme Alpine. LinuxCes distributions ne sont pas concernées par ce problème. La vulnérabilité a été corrigée par un correctif ajouté le 2 octobre. Vous pouvez suivre la publication des mises à jour des paquets pour les distributions sur les pages suivantes : Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo, ALT Linux.

Cette vulnérabilité est due à une modification introduite en avril 2021 et intégrée à glibc 2.34. En raison d'une erreur dans le code d'analyse syntaxique d'une chaîne spécifiée dans la variable d'environnement GLIBC_TUNABLES, une combinaison incorrecte de paramètres dans cette variable entraîne l'écriture de la valeur analysée au-delà de la limite du tampon alloué. Le problème se manifeste lorsque, au lieu des séquences standard « nom=val », les paramètres sont spécifiés sous la forme d'une double affectation : « nom=nom=val ». Dans ce cas, l'affectation est traitée deux fois, d'abord comme « nom=nom=val », puis comme « nom=val ». Ce double traitement aboutit au résultat « nom=nom=val:nom=val », qui dépasse la taille du tampon tunestr.

Des chercheurs ont mis au point une faille stable permettant d'obtenir l'accès root avec quasiment n'importe quel programme doté du paramètre suid root. Font exception l'utilitaire sudo (qui modifie la valeur RUNPATH du fichier ELF), ainsi que les utilitaires chage et passwd de Fedora (protégés par des règles SE distinctes).Linux) et l'utilitaire de confinement par enclenchement dans Ubuntu (Protégé par des règles AppArmor distinctes). La méthode d'exploitation proposée ne fonctionne pas non plus sur RHEL 8 et RHEL 9, bien que ces branches soient vulnérables (une attaque nécessite la création d'un exploit différent). Le code de l'exploit sera publié ultérieurement, une fois la vulnérabilité largement corrigée. Vous pouvez vérifier l'exposition de votre système à cette vulnérabilité à l'aide de la commande ci-dessous, qui plantera si le problème se produit : `env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/su --help`

Par ailleurs, deux autres vulnérabilités dans Glibc ont été corrigées :

  • CVE-2023-4806 – Une vulnérabilité d'utilisation après libération de mémoire existe dans la fonction `getaddrinfo()`. Cette vulnérabilité se produit lorsque le plugin NSS implémente uniquement les fonctions de rappel « _gethostbyname2_r » et « _getcanonname_r », mais pas la fonction de rappel « _gethostbyname3_r ». Pour exploiter cette vulnérabilité, le serveur DNS doit renvoyer un grand nombre d'adresses IPv6 et IPv4 pour l'hôte demandé, ce qui provoque le plantage du processus appelant la fonction `getaddrinfo()` pour la famille AF_INET6 lorsque les indicateurs AI_CANONNAME, AI_ALL et AI_V4MAPPED sont activés.
  • CVE-2023-5156 - Une fuite de mémoire se produit lors de l'appel de la fonction getaddrinfo pour la famille d'adresses AF_INET6 avec les indicateurs AI_CANONNAME, AI_ALL et AI_V4MAPPED définis.

Source: opennet.ru

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