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

[Hintergrund] Die jüngsten Schwachstellen im Resolver-Code
(2002-07-05 11:31:53.79574+00)

Quelle: http://cert.uni-stuttgart.de/archive/bugtraq/2002/07/msg00045.html

Gegenwärtig herrscht einige Verwirrung, welche Systeme in welcher Weise von den jüngst entdeckten DNS-Schwachstellen betroffen sind. Diese Mitteilung faßt die bisher öffentlich verfügbaren Daten zusammen.

Informationen zu betroffenen Systemen und Gegenmaßnahmen -- soweit verfügbar -- entnehmen Sie bitte der RUS-CERT-Meldung #857.

In jüngerer Zeit wurden drei Schwachstellen entdeckt, die direkt mit der Verarbeitung von DNS-Antworten zusammenhängen:

  1. Die Resolver-API erfordert, daß bestimmte Objekte an geeignet im Speicher ausgerichtet sind. Der Programmcode justiert die Zeiger entsprechend, wodurch Speicher in einem internen Puffer verbraucht wird. Dieser Speicherverbrauch wird nicht berücksichtigt, wodurch es zu einem Pufferüberlauf kommen kann.
  2. Eine Hilfsroutine, die von den getneyby*-Funtkionen verwendet wird, führt letztlich keine Bereichsprüfung für den Zugriff auf einen internen Puffer durch.
  3. Eine Sendmail-8.12-spezifische Schwachstelle, die DNS-Maps mit TXT-Records involviert.

Die Schwachstelle Nummer 3 hat mit dem Rest wenig zu tun und wird hier nicht weiter behandelt.

Die erste Schwachstelle

Die erste Schwachstelle wurde am 2002-06-26 von PINE-CERT veröffentlicht, wobei die Formulierung des Advisories nahelegte, daß es sich womöglich ausschließlich um eine BSD-spezifische Schwachstelle handelte. Der verwundbare Programmcode findet sich jedoch auch in der Resolver-Bibliothek von BIND 4.9.8 (und früheren Versionen), weswegen eine weitaus größere Zahl von Systemen betroffen ist. GNU libc ist von diesen Problemen nur deswegen nicht betroffen, weil sie schon 1999 mit Version 2.1.3 behoben wurden (siehe CERT/CC-Archiv).

Die Resolver-Bibliothek in BIND 8 enthält noch ein Relikt vom verwundbaren Code aus BIND 4.9.x, weshalb Systeme, die auf BIND 8 aufsetzen, vom ersten Problem ebenfalls betroffen sind.

Die zweite Schwachstelle

Die zweite Schwachstelle unterscheidet sich, genau betrachtet, erheblich von der ersten. Sie wurde von PINE-CERT nicht separat angekündigt, aber von FreeBSD und OpenBSD in einem Zug korrigiert. Diese Schwachstelle befindet sich in dem BIND-4.9.x-Programmcode vor Version 4.9.9. Sie wurde auch in den GNU-libc-Code kopiert und noch nicht korrigiert, weswegen GNU libc von dieser Schwachstelle betroffen ist.

Es ist fraglich, ob der von ISC empfohlene Einsatz von BIND 9 Angriffe verhindert, da Angriffe nicht unbedingt syntaktisch fehlerhafte DNS-Antworten involvieren müssen. Wirksame Workarounds für GNU-libc-Systeme existieren jedoch.

In BIND 8 ist diese Schwachstelle nicht enthalten.

Revisionen

(fw)

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 © 2017 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/


https://cert.uni-stuttgart.de/ticker/article.php?mid=869