[Generic/ISC DHCPD] Format-String-Schwachstelle im Logging-Code
(2002-05-10 14:36:35+00)
Quelle:
http://cert.uni-stuttgart.de/archive/bugtraq/2002/05/msg00069.html
Durch einen Format-String-Fehler können Angreifer, die Anfragen an einen ISC-DHCP-Server schicken können, diesen mittelbar kompromittieren.
Betroffene Systeme
- ISC DHCPD 3.0 bis einschließlich 3.0.1rc8, falls DNS-Update-Unterstützung einkompiliert ist ("
NSUPDATE
"), was die Voreinstellung ist.
Nicht betroffene Systeme
- NetBSD mit NetBSD-Version von ISC DHCPD
- ISC DHCPD 3.0p1 und 3.0.1rc9
Einfallstor
Antworten eines DNS-Servers auf dynamische Updates, die vom DHCPD durchgeführt werden. Der Angreifer kann entweder die DNS-Antworten manipulieren (UDP/TCP-Port 53) oder selbst geeignete DHCP-Anfragen stellen (UDP-Ports 67 und 68).
Auswirkung
Ein Angreifer kann beliebigen Code mit den Rechten des DHCP-Serverprozesses ausführen; typischerweise sind dies root
-Rechte (remote root compromise).
Typ der Verwundbarkeit
format string bug
Gefahrenpotential
sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
ISC DHCPD implementiert eine DHCP-Erweiterung, mit der sich die dynamisch vergebene Adresse ins DNS eintragen läßt. Im Programmcode, der eine Fehlerbeschreibung in ein Logfile schreibt, falls die Aktualisierung des DNS-Servers fehlschlägt, wurde eine Format-String-Schwachstelle entdeckt. Ein Angreifer kann einen DHCP-Request an einen verwundbaren DHCP-Server schicken, woraufhin der DHCP-Server eine Aktualisierungsaufforderung an den DNS-Server übermittelt, der auch unter der Kontrolle des Angreifers stehen könnte. Dieser DNS-Server antwortet mit einer Antwort, die die Verwundbarkeit im DHCP-Server ausnutzt, um beliebigen Code auf diesem System mit root
-Rechten auszuführen. In einem alternativen Angriffsszenario manipuliert der Angreifer die Antwort eines legitimen DNS-Servers.
Gegenmaßnahmen
- Aktualisierung auf ISC DHCPD 3.0p1.
- Einspielen des folgenden Patches:
--- common/print.c Tue Apr 9 13:41:17 2002 +++ common/print.c.patched Tue Apr 9 13:41:56 2002 @@ -1366,8 +1366,8 @@ *s++ = '.'; *s++ = 0; if (errorp) - log_error (obuf); + log_error ("%s",obuf); else - log_info (obuf); + log_info ("%s",obuf); } #endif /* NSUPDATE */
Vulnerability ID
Weitere Information zu diesem Thema
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=812