Eine Schwachstelle in Glibc ld.so, die es ermöglicht, Root-Rechte im System zu erlangen

Die Firma Qualys hat eine kritische Schwachstelle (CVE-2023-4911) im Linker ld.so festgestellt, der Teil der systemeigenen C-Bibliothek Glibc (GNU libc) ist. Diese Schwachstelle ermöglicht es einem lokalen Benutzer, seine Berechtigungen im System zu erhöhen, indem er speziell formatierte Daten in der Umgebungsvariable GLIBC_TUNABLES angibt, bevor er eine ausführbare Datei mit dem suid root-Flag, beispielsweise /usr/bin/su, startet.

Die erfolgreiche Ausnutzung der Schwachstelle wurde in Fedora 37 und 38, Ubuntu 22.04 und 23.04, Debian 12 und 13 demonstriert. Es wird vermutet, dass die Schwachstelle auch in anderen Distributionen auftritt, die Glibc verwenden. Distributionen, die auf der systemeigenen C-Bibliothek Musl basieren, wie Alpine Linux, sind von diesem Problem nicht betroffen. Die Schwachstelle wurde in einem Patch behoben, der am 2. Oktober hinzugefügt wurde. Die Veröffentlichung von Paketaktualisierungen in den Distributionen kann auf den Seiten von Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, Gentoo und ALT Linux verfolgt werden.

Die Schwachstelle resultiert aus einer Änderung, die im April 2021 vorgenommen und in die Version glibc 2.34 integriert wurde. Aufgrund eines Fehlers im Code zur Verarbeitung der Zeichenfolge, die in der Umgebungsvariable GLIBC_TUNABLES angegeben ist, führt eine falsche Kombination von Parametern in dieser Variablen dazu, dass der analysierte Wert über den zugewiesenen Speicherbereich hinaus geschrieben wird. Das Problem tritt auf, wenn anstelle der standardmäßigen Sequenzen "name=val" die Parameter in Form einer doppelten Zuweisung "name=name=val" festgelegt werden. In diesem Fall wird die Zuweisung zweimal verarbeitet, zunächst als "name=name=val" und dann als "name=val". Durch diese doppelte Verarbeitung entsteht das Ergebnis "name=name=val:name=val", dessen Größe den Puffer tunestr überschreitet.

Исследователями подготовлен стабильно работающий эксплоит, который позволяет получить права root при применении практически с любой программой с флагом suid root. Исключение составляют утилита sudo (меняет значение ELF RUNPATH), утилиты chage и passwd в Fedora (защищены отдельными правилами SELinux) и утилита snap-confine в Ubuntu (защищена отдельными правилами AppArmor). Предложенный метод эксплуатации также не работает в RHEL 8 и RHEL 9, хотя данные ветки и подвержены уязвимости (для атаки требуется создание иного эксплоита). Код эксплоита будет опубликован позднее после повсеместного устранения уязвимости. Проверить подверженность своей системы уязвимости можно ниже указанной командой, которая в случае наличия проблемы завершиться крахом: env -i «GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A» «Z=`printf ‘%08192x’ 1`» /usr/bin/su —help

Es wird zusätzlich die Behebung von zwei weiteren Schwachstellen in Glibc hervorgehoben:

  • CVE-2023-4806 — ein Zugriff auf einen bereits freigegebenen Speicherbereich (Use-after-free) in der Funktion getaddrinfo(). Dies tritt auf, wenn das NSS-Plugin nur die Callback-Aufrufe „_gethostbyname2_r“ und „_getcanonname_r“ implementiert, aber den Aufruf „_gethostbyname3_r“ nicht unterstützt. Um die Schwachstelle auszunutzen, muss der DNS-Server eine große Anzahl von IPv6- und IPv4-Adressen für den angeforderten Host zurückgeben, was zum Absturz des Prozesses führt, der die Funktion getaddrinfo für die Familie AF_INET6 mit den Flags AI_CANONNAME, AI_ALL und AI_V4MAPPED aufruft.
  • CVE-2023-5156 — ein Speicherinhalt leak bei der Aufruf der Funktion getaddrinfo für die Adressfamilie AF_INET6 mit den gesetzten Flags AI_CANONNAME, AI_ALL und AI_V4MAPPED.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster