Ubuntu, Debian & Co.: Schwachstelle in glibc gewährt Root-Zugriff unter Linux
Forscher des auf IT-Security spezialisierten Technologieunternehmens Qualys haben mal wieder ein paar Schwachstellen in der weitverbreiteten GNU-C-Bibliothek (glibc) aufgedeckt. Eine davon wurde mit Version 1.04 im September 1992 eingeführt und besteht folglich schon seit mehr als 30 Jahren.
Schwachstelle in Logging-Funktion von glibc
Dabei ist die älteste nicht zugleich die brisanteste Sicherheitslücke. Besonders hervorgehoben wird nämlich im Bericht der Qualys-Forscher die als CVE-2023-6246 registrierte Pufferüberlauf-Schwachstelle, die im August 2022 mit der glibc-Version 2.37 eingeführt wurde. Jedoch sei der anfällige Code später auch zu Version 2.36 zurückportiert worden, warnen die Forscher. Ziel war es wohl, durch diese Portierung eine andere, aber weniger schwerwiegende Sicherheitslücke zu schließen.
Bei CVE-2023-6246 handle es sich um eine „bedeutsame Sicherheitsanfälligkeit in der Funktion __vsyslog_internal()
“, heißt es in dem Bericht. Sie betreffe damit ebenso die häufig genutzten Logging-Funktionen syslog()
und vsyslog()
und ermögliche Angreifern eine lokale Rechteausweitung. Ein unprivilegierter Nutzer könne dadurch unter gängigen Linux-Distributionen einen Root-Zugriff erlangen. Für den Pufferüberlauf anfällig sind gemäß den Untersuchungen der Forscher mindestens Debian 12 und 13, Ubuntu 23.04 und 23.10 sowie Fedora 37 bis 39, möglicherweise aber auch noch weitere Distributionen.
Nur unter bestimmten Bedingungen ausnutzbar
Details zu der Schwachstelle erläutert Qualys in einer separaten Meldung. Demnach müssen für eine erfolgreiche Ausnutzung bestimmte Bedingungen erfüllt sein. Voraussetzung sei ein ungewöhnlich langes argv[0]- oder openlog()-Argument mit mehr als 1.024 Bytes. Dass CVE-2023-6246 aus der Ferne ausgenutzt werden könne, sei unwahrscheinlich. Dennoch seien die möglichen Auswirkungen der Sicherheitslücke aufgrund der hohen Verbreitung von glibc beachtlich.
Darüber hinaus haben die Qualys-Forscher noch zwei weitere Schwachstellen aufgedeckt, die ihren Ursprung ebenfalls in der Funktion __vsyslog_internal()
der GNU-C-Bibliothek haben. Diese wurden als CVE-2023-6779 und CVE-2023-6780 registriert, sind nach Einschätzung der Forscher aber schwieriger auszunutzen. Patches für alle drei Sicherheitslücken wurden bereits ausgearbeitet, wie die Disclosure-Timeline im Bericht der Forscher verrät.
Mehr als 30 Jahre alte Schwachstelle in Sortierfunktion
Abseits von den bereits genannten Schwachstellen haben die Forscher noch eine Sicherheitsanfälligkeit in der glibc-Sortierfunktion qsort()
entdeckt, die durch fehlende Grenzprüfungen entsteht. Dabei handelt es sich um eine Speicherkorruptionsschwachstelle, die nach Angaben von Qualys bereits seit Version 1.04 der GNU-C-Bibliothek besteht, bis hinauf zur aktuellen Version 2.38. Veröffentlicht wurde die glibc-Version 1.04 im September 1992, folglich bestand der anfällige Code seit fast 32 Jahren.
Allzu einfach ausnutzen lässt sich die Schwachstelle aber wohl nicht. „Damit eine Anwendung verwundbar ist, muss sie die qsort()
-Funktion mit einem bestimmten Satz von Kriterien verwenden“, erklären die Forscher. Dazu zähle „eine nicht-transitive Vergleichsfunktion (wie ein einfaches cmp(int a, int b)
, das (a - b) zurückgibt) und eine beträchtliche Anzahl von Elementen, die von einem Angreifer kontrolliert werden“. Bisher seien noch keine realen Beispiele für verwundbare Programme identifiziert worden.
glibc-Entwickler sehen das Problem bei den Anwendungen
Das glibc-Sicherheitsteam erklärte gegenüber Qualys, das Problem liege hier eher bei den jeweiligen Anwendungen, die nicht-transitive sowie nicht mit den POSIX- und ISO-C-Standards konforme Vergleichsfunktionen verwendeten. „Daher sind wir der Meinung, dass die sich daraus ergebende CVE, wenn überhaupt, den aufrufenden Anwendungen zugewiesen und anschließend durch Übergabe einer gültigen Vergleichsfunktion an qsort behoben werden sollte“, so das Team. Dennoch erkenne man an, dass es sich um ein Problem der Implementierungsqualität handle. Dieses sei aber ohnehin im Rahmen eines Refactorings der qsort-Funktion durch ein kürzlich veröffentlichtes Update beseitigt worden.
Was die Entdeckung von Schwachstellen in der GNU-C-Bibliothek betrifft, ist Qualys kein Neuling. Erst im Oktober 2023 hatte das Unternehmen eine Looney Tunables genannte Sicherheitslücke aufgedeckt, die es Angreifern ebenfalls ermöglicht, sich auf zahlreichen Linux-Systemen Root-Rechte zu verschaffen. Nur wenige Tage später wurden erste Exploits veröffentlicht, mit denen sich die Schwachstelle ausnutzen lässt.