Allgemein
scipID: 80983
Betroffen: GNU glibc
Veröffentlicht: 16.02.2016 (Robert Holiday)
Risiko: kritisch
Erstellt: 16.02.2016
Eintrag: 77.9% komplett
Beschreibung
In GNU glibc – die betroffene Version ist nicht bekannt – wurde eine kritische Schwachstelle entdeckt. Dabei geht es um die Funktion send_dg/send_vc der Datei resolv/res_send.c. Dank Manipulation des Arguments MAX_PACKET mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Auswirken tut sich dies auf Vertraulichkeit, Integrität und Verfügbarkeit.
Am 01.05.2008 wurde der Fehler eingeführt. Die Schwachstelle wurde am 16.02.2016 durch Robert Holiday von Ciena als Bug 18665 in Form eines bestätigten Advisories (Mailing List) öffentlich gemacht. Bereitgestellt wird das Advisory unter sourceware.org. Die Veröffentlichung passierte hierbei in Koordination mit GNU. Die Verwundbarkeit wird als CVE-2015-7547 geführt. Die Schwachstelle ist relativ beliebt, und dies trotz ihrer hohen Komplexität. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Das Advisory weist darauf hin:
The use of AF_UNSPEC triggers the low-level resolver code to send out two parallel queries for A and AAAA. A mismanagement of the buffers used for those queries could result in the response writing beyond the alloca allocated buffer created by __res_nquery.
Es wurde direkt nach dem Advisory ein Exploit veröffentlicht. Er wird als proof-of-concept gehandelt. Mindestens 2847 Tage galt die Schwachstelle als nicht öffentlicher Zero-Day. Während dieser Zeit erzielte er wohl etwa $25k-$50k auf dem Schwarzmarkt.
Die Schwachstelle lässt sich durch das Einspielen des Patches 8479f23a lösen. Die Schwachstelle kann zusätzlich durch das Filtern von UDP DNS Packet Length > 512 Bytes / TCP Reply Length > 1024 Bytes mittels Firewalling mitigiert werden. Als bestmögliche Massnahme wird das Installieren des jeweiligen Patches empfohlen. Das Erscheinen einer Gegenmassnahme geschah direkt nach der Veröffentlichung der Schwachstelle. GNU hat damit sofort gehandelt. Die Schwachstelle wird durch folgenden Code angegangen:
if (status NSS_STATUS_SUCCESS
&& (status2 NSS_STATUS_TRYAGAIN
&& *errnop == ERANGE && *h_errnop != NO_RECOVERY))
status = NSS_STATUS_TRYAGAIN;
Zusätzliche Informationen finden sich unter sourceware.org.
CVSS
Base Score: 6.8 (CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P) [?]
Temp Score: 5.3 (CVSS2#E:POC/RL:OF/RC:C) [?]
CPE
Exploiting
Klasse: Pufferüberlauf
Lokal: Nein
Remote: Ja
Verfügbarkeit: Ja
Zugang: öffentlich
Status: Proof-of-Concept
Aktuelle Preisschätzung: $25k-$50k (0-day) / $2k-$5k (Heute)
Gegenmassnahmen
Empfehlung: Patch
Status: Offizieller Fix
Reaction Time: 0 Tage seit gemeldet
0-Day Time: 2847 Tage seit gefunden
Exposure Time: 0 Tage seit bekannt
Exploit Delay Time: 0 Tage seit bekannt
Patch: 8479f23a
Firewalling: UDP DNS Packet Length > 512 Bytes / TCP Reply Length > 1024 Bytes
Timeline
01.05.2008 | Schwachstelle eingeführt
16.02.2016 | Advisory veröffentlicht
16.02.2016 | Exploit veröffentlicht
16.02.2016 | Gegenmassnahme veröffentlicht
16.02.2016 | VulDB Eintrag erstellt
16.02.2016 | VulDB Eintrag aktualisiert
Quellen
Advisory: Bug 18665
Person: Robert Holiday
Firma: Ciena
Status: Bestätigt
Koordiniert: Ja
CVE: CVE-2015-7547 (mitre.org) (nvd.nist.org) (cvedetails.com)
Diverses: sourceware.org
SOCIAL SHARE CARD GENERATOR