In der zlib-Bibliothek wurde eine Sicherheitsanfälligkeit (CVE-2018-25032) entdeckt, die zu einem Pufferüberlauf führt, wenn versucht wird, eine speziell vorbereitete Zeichenfolge in den Eingangsdaten zu komprimieren. In der aktuellen Form haben Forscher gezeigt, dass es möglich ist, eine Prozessbeendigung auszulösen. Ob das Problem schwerwiegendere Folgen haben könnte, ist noch nicht untersucht.
Die Sicherheitsanfälligkeit tritt seit der Version zlib 1.2.2.2 auf und betrifft unter anderem die aktuelle Version zlib 1.2.11. Bemerkenswert ist, dass bereits 2018 ein Patch zur Behebung der Schwachstelle angeboten wurde, jedoch die Entwickler nicht darauf reagierten und kein Korrektur-Release herausgaben (die zlib-Bibliothek wurde zuletzt 2017 aktualisiert). Der Fix ist bislang auch nicht in die von den Distributionen angebotenen Pakete integriert. Informationen über die Veröffentlichung von Korrekturen durch die Distributionen können auf diesen Seiten verfolgt werden: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Die zlib-ng-Bibliothek ist von dem Problem nicht betroffen.
Die Schwachstelle tritt auf, wenn ein großer Anteil von Übereinstimmungen im Eingabestrom gefunden wird, die mit einer Huffman-Codierung auf Basis fester Codes komprimiert werden. Unter bestimmten Umständen kann der Inhalt des temporären Puffers, in den das komprimierte Ergebnis gelegt wird, mit dem Speicher überlappen, in dem die Häufigkeitstabelle der Symbole gespeichert ist. Dies führt zu fehlerhaften komprimierten Daten und einem Absturz aufgrund eines Pufferoverflows.
Die Schwachstelle kann nur dann ausgenutzt werden, wenn eine Kompressionsstrategie auf der Basis fester Huffman-Codes verwendet wird. Eine solche Strategie wird gewählt, wenn die Option Z_FIXED im Code ausdrücklich aktiviert ist (Beispiel einer Sequenz, die zu einem Absturz führt, wenn die Option Z_FIXED verwendet wird). Laut dem Code kann die Strategie Z_FIXED auch automatisch gewählt werden, wenn die für die Daten berechneten optimalen und statischen Bäume die gleiche Größe haben.
Es ist noch unklar, ob die Bedingungen für die Ausnutzung der Schwachstelle bei Verwendung der standardmäßig angewandten Komprimierungsstrategie Z_DEFAULT_STRATEGY formuliert werden können. Wenn nicht, wird die Schwachstelle auf spezifische Systeme beschränkt, in denen die Option Z_FIXED explizit verwendet wird. Wenn doch, könnte der Schaden durch die Schwachstelle erheblich sein, da die zlib-Bibliothek de facto der Standard ist und in vielen beliebten Projekten verwendet wird, darunter der Linux-Kernel, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL usw.
Quelle: opennet.ru
