[Generic/zlib] Heap-Korrumpierung in der Dekompressionsroutine
(2002-03-12 08:51:02+00)
Quelle:
http://www.gzip.org/zlib/advisory-2002-03-11.txtIn der Dekompressionsroutine der zlib-Bibliothek ist ein Programmierfehler enthalten, der zur Heap-Korrumpierung führen kann.
Betroffene Systeme
- GNU/Linux-Systeme
- Weitere Systeme, die
zlibverwenden. Die Nutzungsbestimmungen vonzlibsind recht großzügig, daher wird dieser Programmcode an vielen Orten verwendet werden.
zlib-Code enthalten, können mit dem Skript find-zlib des RUS-CERT ermitttelt werden.
Nicht betroffene Systeme
- Systeme, die bestimmte
malloc()/free()-Implementierungen verwenden, die die mehrfache Freigabe von Speicher in definierter Weise handhaben (z.B. OpenBSD und FreeBSD), dürften diese Schwachstelle nicht aufweisen.
malloc()/free()-Implementierungen, so daß keine eindeutige Aussage möglich ist.
Einfallstor
Daten, die schließlich durch die zlib-Bibliothek verarbeitet werden, beispielsweise:
- PNG-Bilder
- Komprimierte Datenströme in HTTP
- SSH-Verbindungen
Auswirkung
Denial of Service, möglicherweise auch Ausführung beliebigen Programmcodes.
Typ der Verwundbarkeit
heap corruption bug
Gefahrenpotential
sehr hoch (wegen des Einsatzes von zlib in zahlreichen privilegierten Systemdiensten)
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibungzlib ist eine Bibliothek zum Komprimieren und Dekomprimieren von Datenströmen. Bei der Dekompression wird unter Umständen ein Speicherblock doppelt freigegeben, was zur Korrumpierung des Heaps führt. Dadurch ensteht in vielen Diensten eine Denial of Service-Schwachstelle. Es ist gegenwärtig unklar, ob die Schwachstelle auch zur Ausführung beliebigen Programmcodes mit den Rechten des Dienstes mißbraucht werden kann.
Gegenmaßnahmen
- Upgrade auf zlib 1.1.4.
zlib-Bibliothek installiert wurde. (Dies gilt insbesondere dann, wenn das Programm gegen eine mit diesem Programm gelieferte Kopie von zlib gelinkt wird; dabei muß die enthaltene Kopie durch Version 1.1.4 ersetzt werden, oder die Änderungen beim Aufruf von ZFREE müssen eingepflegt werden.)
Dynamisch gelinkte Programme müssen neu gestartet werden, da sie sonst mit dem alten, fehlerhaften Code weiterlaufen (kritisch z.B. bei OpenSSH).
Vulnerability ID
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=744
