Ghost: Gravierende Sicherheitslücke in Linux-Systemen entdeckt
Mehrer Sicherheitsforscher haben von einer gravierenden Schwachstelle in Linux berichtet. Zahlreiche Web- und Mail-Server, aber auch sämtliche Linux-Distributionen sind von “Ghost” – einer Lücke in der Glibc-Bibliothek – betroffen. Bei Letzterer handelt es sich um eine zentrale Komponente von Linux-Systemen.
Die GNU C Library – kurz glibc – ist eine Implementierung der Standard C Library, ohne die Linux nicht funktionsfähig ist. Skriptsprachen wie Python oder Ruby nutzen diese Bibliothek ebenfalls und könnten somit gleichermaßen gefährdet sein. Über die Lücke CVE-2015-0235 könnten Angreifer die Kontrolle über ein System übernehmen.
Ihre Bezeichnung erhielt die Schwachstelle von der GetHOST-Funktion, über die innerhalb einer weiteren Funktion namens __nss_hostname_digits_dots() ein Pufferüberlauf provoziert werden kann. Informationen zu dem Fehler wurden zu Beginn – womöglich versehentlich – über eine französische Mailingliste verbreitet.
Jetzt haben Forscher des Sicherheitsanbieters Qualys einen funktionierenden Exploit-Code veröffentlicht. Damit sollen sie in der Lage gewesen sein, einen Angriff auf den Exim-Mail-Server auszuführen. Wie die Experten erläutern, haben sie eine manipulierte Nachricht an den Mailserver geschickt und auf diese Weise gängige Sicherheitsmechanismen wie ASLR, PIE und NX umgangen. Mittels der Mail konnten sie anschließend eine Remote Shell zu dem Linux-Server herstellen und damit die vollständige Kontrolle über das System erlangen. Das sei sowohl auf 32- als auch auf 64-Bit-Systemen möglich gewesen.
Allerdings scheint es sich nicht um einen Bug im herkömmlichen Sinne zu handeln, die Qualys-Forscher sprechen vielmehr von einem Implementierungsproblem. Die älteste, von der Schwachstelle betroffene Version der GNU C Library ist glibc-2.2, die am 10. November 2000 freigegeben wurde. Zwischen den Releases glibc-2.17 im Januar 2013 sowie glibc-2.18 im Mai 2013 wurde bereits ein Fix für den Fehler bereitgestellt. Allerdings sei dieser damals nicht als Sicherheitsproblem erkannt worden und somit sind vor allem Langzeit-Support-Versionen (LTS) wie Debian 7, Red Hat Enterprise Linux 6 und 7, CentOS 6 und 7 sowie unter anderem auch Ubuntu 12.04 für den Bug anfällig. Bei Suse Enterprise Linux sind überdies alle Ausgaben bis Version 11 betroffen. OpenSuse 13.1 und 13.2 sind hingegen nicht gefährdet, wie aus einem Advisory hervorgeht.
Die Qualys-Experten hatten schon im Vorfeld ihrer Veröffentlichung den Fehler an die Distributoren gemeldet. Das Unternehmen werde zu gegebener Zeit auch den Exploit-Code publik machen, hieß es in dem Zusammenhang. Über das Qualys Vulnerability Management können Anwender nun zumindest testen, ob ihre Systeme verwundbar sind.
“Linux-basierte Geräte von einer Vielzahl von Anbietern sind betroffen, aber wie bei den meisten Schwachstellen auf Library-Ebene ist der genaue Angriffsvektor noch weitgehend unbekannt”, so H.D. Moore, Chief Research Officer beim Sicherheitsanbieter Rapid7. Nutzer sollten daher direkt bei den Herstellern anfragen, ob ihre Systeme verwundbar sind. Moore ruft allerdings auch zur Gelassenheit auf: Die Sicherheitslücke sei kein weiterer “Heartbleed-Fall”.
Neuere Anwendungen und auch IPv6 nutzen mit getaddrinfo() eine andere Methode. Diese Tatsache reduziere neben weiteren die Auswirkungen des Lecks, wie es im Advisory von Qualys heißt. Zudem würden viele Programme – vor allem SUID-Binaries – die Funktion gethostbyname() nur unter bestimmten und eher unwahrscheinlichen Bedingungen verwenden.
Moore schätzt, dass die Schwachstelle grundsätzlich schwer auszunutzen ist. Der Exim-Mailserver lasse sich offenbar aber dennoch leicht übernehmen. Sollten Hacker jedoch dazu übergehen, die Lücke tatsächlich auszunutzen, “könnte das potenziell böse Folgen haben. Deshalb empfehlen wir sofortige Patches und einen Reboot. Ohne Reboot werden Services, die die alte Library verwenden, nicht neu gestartet werden.”
Das Leck sei daher auch relativ schwierig zu beheben, meint Matthias Geniar, Open-Source-Sicherheitsexperte bei Nucleus. “Das glibc Package wird von einer Menge laufender Services verwendet und jeder dieser Services muss nach dem Update neu gestartet werden”, so Geniar. Eine Übersicht über diese Diensten erhalten Anwender mittels des Befehls ” $ lsof | grep libc | awk ‘{print $1}’ | sort | uniq “. Mit dem Kommando lassen sich alle offenen Dateien (lsof = list open files) mit Bezug zu libc auflisten.
“Patches für die verbreitetsten Linux-Versionen werden gerade veröffentlicht und sollten unbedingt auf allen gefährdeten Systemen aufgespielt werden, die Services nutzen, welche über das Internet zugänglich sind”, empfiehlt Gavin Millard, EMEA Technical Director bei Tenable Network Security. “Genauso wie zuvor bei Shellshock und Heartbleed ist eine enorm große Zahl an Systemen für derartige Angriffe anfällig. Deshalb gilt es nun, alle betroffenen Systeme schnellstmöglich zu identifizieren und die Patches aufzuspielen, um die Gefahr eines Datenverlusts zu senken”, so Millard weiter.
Anfällige Glibc-Versionen befänden sich mutmaßlich auf nahezu jedem Linux-Server. Allerdings gebe es auch gute Nachrichten: “Ausgeschlossen sind allerdings kleinere Embedded-Systeme, aufgrund der Größe von Glibc. Dies bedeutet glücklicherweise, dass die Millionen von IoT-Geräten (Internet of Things) und auch die Router in Privathaushalten, für die es keine oder sehr viel seltener Patches gibt, wahrscheinlich nicht davon betroffen sind.” Für RedHat, Ubuntu und Debian liegen schon Updates vor.
[mit Material von Martin Schindler, silicon.de]