[Generic/DHCP] Zwei Schwachstellen im ISC DHCP-Server
(2004-06-23 19:49:22.539973+00)
Quelle:
http://www.us-cert.gov/cas/techalerts/TA04-174A.html
Zwei Pufferüberlaufschwachstellen im Code für das Logging des DHCP-Servers des Internet Systems Consortiums (ISC) ermöglichen Angreifern durch das Senden mehrerer Hostnames, den Server zum Absturz zu bringen. Die Schwachstellen können potentiell zur Kompromittierung des beherbergenden Rechnersystems ausgenutzt werden.
Betroffene Systeme
- Für die unter CAN-2004-0460 beschriebene Schwachstelle:
- ISC DHCP Server
- 3.0.1rc12
- 3.0.1rc13
auf allen möglichen Betriebsystemplattformen.
- Für die unter CAN-2004-0461 beschriebene Schwachstelle:
- ISC DHCP Server
- 3.0.1rc12
- 3.0.1rc13
laut Information des US-CERT bzw. des CERT/CC auf den folgenen Betriebsystemplattformen: - IBM AIX
- AlphaOS
- Cygwin32
- Hewlett-Packard HP-UX
- SGI Irix
- GNU/Linux
- NextStep
- SCO Unix
- Sun Solaris 2.4
- Sun Solaris 2.5.5
- DEC Ultrix
Einfallstor
- CAN-2004-0460:
- DHCP-Nachricht an Port 67/UDP des DHCP-Servers
- CAN-2004-0461:
- DHCP-Nachricht an Port 67/UDP des DHCP-Servers
Auswirkung
- CAN-2004-0460:
- Nichtverfügbarkeit des DHCP-Dienstes
(Denial of Service) - Kompromittierung des beherbergenden Systems über eine Netzwerkverbindung
(remote system compromise)
- Nichtverfügbarkeit des DHCP-Dienstes
- CAN-2004-0461:
- Nichtverfügbarkeit des DHCP-Dienstes
(Denial of Service) - Kompromittierung des beherbergenden Systems über eine Netzwerkverbindung
(remote system compromise)
- Nichtverfügbarkeit des DHCP-Dienstes
Typ der Verwundbarkeit
- CAN-2004-0460:
- Pufferüberlaufschwachstelle (buffer overflow bug)
- CAN-2004-0461:
- Pufferüberlaufschwachstelle (buffer overflow bug)
Gefahrenpotential
- CAN-2004-0460:
- sehr hoch
- CAN-2004-0461:
- sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Kontext
DHCP (Dynamic Host Configuration Protocol) ist ein weitverbreitetes Protokoll zum dynamischen Austausch von Konfigurationsdaten, wie z. B. der Vergabe von IP-Adressen in Lokalen Fest- und Funknetzen.
Das Internet Systems Consortium (ISC) stellt eine freie Referenzimplementierung eines DHCP-Servers zur Verfügung.
Beschreibung
- CAN-2004-0460:
Der DHCP-Daemon loggt bei der Kommunikation mit einem Klienten jede übertragene Nachricht. In den
DISCOVER
,OFFER
,REQUEST
,ACK
undNAK
Nachrichten, die der Klient an den Server schickt, ist jeweils der Hostname des Klienten enthalten und wird vom Server ebenfalls geloggt. Sendet der Klient mehrere Hostnamen, werden diese aneinandergehängt und als Zeichenkette abgespeichert. Es werden lediglich ASCII-Zeichen akzeptiert, andere Zeichen werden herausgefiltert.Zur Zwischenspeicherung der übertragenen Hostnamen verwendet der ISC DHCP-Daemon einen auf 1024 Bytes begrenzten Puffer. Durch Senden einer entsprechenden Anzahl von Hostnamen ist es einem als Klienten agierenden Angreifer möglich, diesen Puffer mit einem längeren String zu füllen und so den Stack zu überschreiben.
Dies kann dazu führen, daß das System in einen unbenutzbaren Zustand gerät und der DHCP-Dienst nicht mehr verfügbar ist.
Diese Schwachstelle kann potentiell dazu ausgenutzt werden, beliebigen Programmcode auf dem beherbergenden System mit den Privilegien des DHCP-Daemons auszuführen. Da der Server üblicherweise mit
root
-Privilegien (UID=0
) ausgestattet ist, führt dies zur Kompromittierung des beherbergenden Rechnersystems. - CAN-2004-0461:
ISC DHCP benutzt die Funktion
vsnprintf()
zum Schreiben diverser Zeichenketten in Logdateien. Wenn die eingesetzte Version dieser Funktion nicht prüft, ob die Länge des verwendeten Puffers für die zu verarbeitenden Daten ausreicht und die Länge des zu verarbeitenden Strings nicht an anderer Stelle geprüft wird , ist es möglich, durch die Übergabe eines zu langen Strings, den Puffer zu überschreiben.Dies kann dazu führen, daß das System in einen unbenutzbaren Zustand gerät und der DHCP-Dienst nicht mehr verfügbar ist.
Diese Schwachstelle kann potentiell dazu ausgenutzt werden, beliebigen Programmcode auf dem beherbergenden System mit den Privilegien des DHCP-Daemons auszuführen. Da der Server üblicherweise mit
root
-Privilegien (UID=0
) ausgestattet ist, führt dies zur Kompromittierung des beherbergenden Rechnersystems.Offenbar liegen die entsprechenden
vsnprintf()
-Aufrufe an einer Stelle im Code des Servers, die nach der Ausführung der Teile des Codes erreicht werden, in der die unter CAN-2004-0460 (s.o.) beschriebene Schwachstelle enthalten ist. Eine Ausnutzung dieser Schwachstelle ist also nur dann möglich, wenn das Senden eines entsprechenden Strings an den Server nicht zu einem Pufferüberlauf durch die unter CAN-2004-0460 (oben) beschriebene Schwachstelle geführt hat. Aus diesem Grunde ist derzeit unbekannt, ob die unter CAN-2004-0461 (hier) beschriebene Schwachstelle effektiv ausgenutzt werden kann.Diese Schwachstelle ist nach angaben des US-CERT bzw. des CERT/CC in ISC DHCP Kompilaten auf o.a. Betriebsystemplattformen vorhanden. Das RUS-CERT hat diese Infomation nicht verifiziert.
Gegenmaßnahmen
Für CAN-2004-0460 und CAN-2004-0461:
- Upgrade auf DHCP 3.0.1rc14
Vulnerability ID
Weitere Information zu diesem Thema
- RFC 2131 - Dynamic Host Configuration Protocol
- Internet Systems Consortium Dynamic Host Configuration Protocol
Weitere Artikel zu diesem Thema:
- [Generic/DHCP] Schwachstelle im ISC DHCP-Server (2003-01-17)
Mehrere Pufferüberlaufschwachstellen in der Implementierung des DHCP-Daemons des Internet Software Consortium (ISC DHCPD) ermöglichen Angreifern, über eine Netzwerkverbindung auf dem beherbergenden System beliebigen Programmcode auszuführen.
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1206