In der Bibliothek zlib wurde eine Schwachstelle (CVE-2018-25032) festgestellt, die zu einem Bufferüberlauf führt, wenn versucht wird, eine speziell vorbereitete Zeichenfolge in den eingehenden Daten zu komprimieren. In der aktuellen Form haben die Forscher die Möglichkeit eines Absturzes des Prozesses demonstriert. Ob das Problem schwerwiegendere Folgen haben kann, ist noch unklar.
Die Schwachstelle tritt ab der Version zlib 1.2.2.2 auf und betrifft auch die aktuelle Version zlib 1.2.11. Bemerkenswert ist, dass der Patch zur Behebung der Schwachstelle bereits 2018 vorgeschlagen wurde, aber die Entwickler ihm keine Beachtung schenkten und kein Korrektur-Release herausgaben (die Bibliothek zlib wurde zuletzt 2017 aktualisiert). Der Fix ist auch noch nicht in den von den Distributionen angebotenen Paketbestandteilen enthalten. Die Veröffentlichung von Fixes durch die Distributionen kann auf folgenden Seiten verfolgt werden: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Die Bibliothek zlib-ng ist von diesem Problem nicht betroffen.
Die Schwachstelle tritt auf, wenn im Eingabestrom eine große Anzahl von übereinstimmenden Elementen gefunden wird, die verpackt werden sollen, wobei eine Komprimierung auf Basis von festen Huffman-Codes angewendet wird. Unter bestimmten Umständen kann der Inhalt des Zwischenpuffers, in den das komprimierte Ergebnis abgelegt wird, mit dem Speicher, in dem die Frequenztabelle der Zeichen gespeichert ist, Überlappungen aufweisen. Dies führt zur Bildung ungültiger komprimierter Daten und zu einem Absturz aufgrund eines Bufferüberlaufs.
Die Schwachstelle kann nur ausgenutzt werden, wenn eine Komprimierungsstrategie auf Basis fester Huffman-Codes verwendet wird. Eine solche Strategie wird gewählt, wenn im Code die Option Z_FIXED explizit aktiviert wird (Beispiel einer Sequenz, die bei Verwendung der Option Z_FIXED zu einem Absturz führt). 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 bisher unklar, ob Bedingungen für die Ausnutzung der Schwachstelle bei Verwendung der standardmäßig angewendeten Z_DEFAULT_STRATEGY-Komprimierungsstrategie geschaffen werden können. Wenn nicht, wird die Schwachstelle auf bestimmte spezifische Systeme beschränkt, in denen ausdrücklich die Option Z_FIXED angewendet wird. Wenn ja, könnte der Schaden durch die Schwachstelle erheblich sein, da die zlib-Bibliothek ein De-facto-Standard ist und in vielen beliebten Projekten verwendet wird, einschließlich des Linux-Kernels, OpenSSH, OpenSSL, Apache httpd, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL usw.
Quelle: opennet.ru
