Update - Schwerwiegendes Sicherheitsproblem in GNU libc/eglibc (sog. "GHOST"-Lücke)

28. Jänner 2015
Update 29. Jänner 2015

Wie gestern bekannt wurde, gibt es ein kritisches Problem in älteren (vor 2.18) Versionen der GNU C Library (glibc/eglibc).

In einschlägigen Medien wird bereits darüber berichtet, ob der Dringlichkeit und des Umfangs des Problems bittet CERT.at nochmals um Beachtung der folgenden Hinweise.

Beschreibung

In der glibc-Funktion
__nss_hostname_digits_dots()
, die wiederum von
gethostbyname
-Funktionen benutzt wird, gibt es einen Fehler. Dieser wurde bereits 2013 behoben, damals aber nicht als sicherheitsrelevant eingestuft.

Wie der IT-Security Dienstleister Qualys nun herausgefunden hat, ist diese Lücke aber doch ausnutzbar, siehe https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt (mit ausführlicher Analyse).

Eintrag in der CVE-Datenbank: CVE-2015-0235.

CVSS2 Score (Quelle: Redhat):
Base Score:6.8
Base Metrics:AV:N/AC:M/Au:N/C:P/I:P/A:P
Access Vector:Network
Access Complexity:Medium
Authentication:None
Confidentiality Impact:Partial
Integrity Impact:Partial
Availability Impact:Partial

Auswirkungen

Da die betroffenen Funktionen mit DNS-Lookups zu tun haben, lässt sich der Fehler unter Umständen durch entfernte Angreifer ausnutzen, wenn diese einen Weg finden, betroffene Software dazu zu bringen, DNS-Lookups auf durch den Angreifer kontrollierte Ressourcen zu machen. Dies wurde in einem Proof Of Concept etwa für den Email-Server
exim
demonstriert.

Im Prinzip kann dies aber jede Software betreffen, die die entsprechenden Funktionen für DNS-Lookups benutzt - auch asynchron, wie etwa bei Log-Analyse, sowie auf Geräten, die nicht öffentlich im Internet erreichbar sind, etwa interne Mailgateways.

Nach erfolgreichem Ausnutzen kann ein Angreifer beliebigen Code mit den Rechten des Benutzers, unter dessen Account die betroffene Software läuft ausführen. Damit sind alle Daten auf diesen Systemen, sowie alle durch diese erreichbaren (etwa durch Datenbank-Anbindungen, Fileshares etc.) Daten und Systeme gefährdet.

Da das Bestehen einer Lücke nun öffentlich bekannt ist, ist auch anzunehmen, dass sich diverse Akteure nun darauf konzentrieren werden, und entsprechend ist bald mit grossflächigen Kampagnen, die diese Lücke auszunutzen versuchen, zu rechnen.

Betroffene Systeme

Der Fehler betrifft alle glibc/eglibc Versionen vor 2.18, die von vielen Long Term Support/Extended Support Linux Distributionen eingesetzt werden.

Momentan bekannt sind (Achtung, Liste ist nicht vollständig):

  • Debian 7.8 "Wheezy" (stable)
  • Red Hat Enterprise Linux 6 & 7 (und Derivate wie CentOS, Scientific Linux)
  • Ubuntu 12.04 "Precise Pangolin"

  • Update 29. Jänner 2015
  • SuSE Linux Enterprise 11 (und älter, siehe CERT.org BLUU-9T7R92)
  • Check Point SecurePlatform und GAiA (Bug aber nicht ausnutzbar, siehe Check Point sk104443)
  • Splunk Enterprise, Hunk, Splunk Cloud, Splunk MINT, Splunk App for VMware (siehe Splunk SP-CAAANVJ)
  • Juniper Junos Space, CTPView, CTP (siehe Juniper JSA10671)

Auch manche Embedded Systeme können hiervon betroffen sein.

Nicht betroffen sind:

  • Systeme, auf denen glibc/eglibc ab Version 2.18 eingesetzt wird
  • Systeme, auf denen andere libc Varianten eingesetzt werden
Sobald wir über mehr Informationen bezüglich betroffener Software verfügen, werden wir diese Warnung entsprechend updaten - die aktuelle Version ist immer via https://cert.at/ abrufbar.

Update 29. Jänner 2015
Weiters pflegt auch CERT.org eine Liste an betroffener/nicht betroffener Software: http://www.kb.cert.org/vuls/byvendor?searchview&Query=FIELD+Reference=967332&SearchOrder=4

Abhilfe

Es wird dringend empfohlen, die von den Betriebssystemen bereitgestellten Patches zu installieren, und alle Services, die die entsprechenden Funktionen benutzen, neu zu starten. Hier kann es oft einfacher sein, das ganze System neu zu booten.

Eine Methode, herauszufinden, welche laufenden Services gegen glibc/eglibc gelinkt sind (nicht notwendigerweise gegen die betroffenen Versionen!), und nach Update neu gestartet werden müssen, ist etwa:

lsof | grep libc | awk '{print $1}' | sort | uniq

Endbenutzern empfehlen wir, die Updates der Linux-Distributionen zu installieren, und ihre Systeme danach zu rebooten.

Hinweis

Generell empfiehlt CERT.at, wo möglich die "automatisches Update"-Features von Software zu nutzen, parallel Firewall-Software aktiv und den Virenschutz aktuell zu halten.
Informationsquelle(n):

Qualys Security Advisory zu CVE-2015-0235, mit ausführlicher Analyse (englisch)
https://www.qualys.com/research/security-advisories/GHOST-CVE-2015-0235.txt
Blog-Eintrag von Mattias Geniar mit Update-Anleitungen (englisch)
http://ma.ttias.be/critical-glibc-update-cve-2015-0235-gethostbyname-calls/
Debian Security Advisory DSA-3142-1 (englisch)
https://www.debian.org/security/2015/dsa-3142
Redhat Security Advisory RHSA-2015:0090-1 (englisch)
https://rhn.redhat.com/errata/RHSA-2015-0090.html
Ubuntu Security Notice USN-2485-1 (englisch)
http://www.ubuntu.com/usn/usn-2485-1/