Stabsstelle Informationssicherheit der
Universität Stuttgart (RUS-CERT)
https://cert.uni-stuttgart.de
logo
Meldung Nr: RUS-CERT-1206

[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

  1. Für die unter CAN-2004-0460 beschriebene Schwachstelle:
      ISC DHCP Server
    • 3.0.1rc12
    • 3.0.1rc13
  2. auf allen möglichen Betriebsystemplattformen.
  3. Für die unter CAN-2004-0461 beschriebene Schwachstelle:
      ISC DHCP Server
    • 3.0.1rc12
    • 3.0.1rc13
  4. 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
    Alle Versionen von ISC DHCP 3 enthalten die Schwachstelle, jedoch wird derzeit angenommen, daß in anderen Versionen als den o. a. die Schwachstelle nicht ausgenutzt werden kann.

Einfallstor

  1. CAN-2004-0460:
    • DHCP-Nachricht an Port 67/UDP des DHCP-Servers
  2. CAN-2004-0461:
    • DHCP-Nachricht an Port 67/UDP des DHCP-Servers

Auswirkung

  1. CAN-2004-0460:
    • Nichtverfügbarkeit des DHCP-Dienstes
      (Denial of Service)
    • Kompromittierung des beherbergenden Systems über eine Netzwerkverbindung
      (remote system compromise)
  2. CAN-2004-0461:
    • Nichtverfügbarkeit des DHCP-Dienstes
      (Denial of Service)
    • Kompromittierung des beherbergenden Systems über eine Netzwerkverbindung
      (remote system compromise)

Typ der Verwundbarkeit

  1. CAN-2004-0460:
    • Pufferüberlaufschwachstelle (buffer overflow bug)
  2. CAN-2004-0461:
    • Pufferüberlaufschwachstelle (buffer overflow bug)

Gefahrenpotential

  1. CAN-2004-0460:
    • sehr hoch
  2. 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

  1. CAN-2004-0460:

    Der DHCP-Daemon loggt bei der Kommunikation mit einem Klienten jede übertragene Nachricht. In den DISCOVER, OFFER, REQUEST, ACK und NAK 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.

  2. 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:

Vulnerability ID

  1. CAN-2004-0460
    CERT/CC Vulnerability Note VU#317350
  2. CAN-2004-0461
    CERT/CC Vulnerability Note VU#654390

Weitere Information zu diesem Thema

(og)

Weitere Artikel 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=1206