Sicherheitslücke in zlib, die beim Komprimieren speziell entwickelter Daten auftritt

In der zlib-Bibliothek wurde eine Schwachstelle (CVE-2018-25032) identifiziert, die zu einem Pufferüberlauf führt, wenn versucht wird, eine speziell vorbereitete Zeichenfolge in eingehenden Daten zu komprimieren. In seiner aktuellen Form haben Forscher die Fähigkeit nachgewiesen, einen Prozess abnormal zu beenden. Ob das Problem schwerwiegendere Folgen haben könnte, ist noch nicht untersucht.

Die Schwachstelle tritt ab Version zlib 1.2.2.2 auf und betrifft auch die aktuelle Version von zlib 1.2.11. Bemerkenswert ist, dass bereits 2018 ein Patch zur Behebung der Schwachstelle vorgeschlagen wurde, die Entwickler jedoch nicht darauf geachtet und keine Korrekturversion veröffentlicht haben (die zlib-Bibliothek wurde zuletzt 2017 aktualisiert). Auch in den von Distributionen angebotenen Paketen ist der Fix noch nicht enthalten. Sie können die Veröffentlichung von Fixes durch Distributionen auf diesen Seiten verfolgen: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Die zlib-ng-Bibliothek ist von dem Problem nicht betroffen.

Die Sicherheitslücke tritt auf, wenn der Eingabestream eine große Anzahl zu packender Übereinstimmungen enthält, auf die das Packen auf Basis fester Huffman-Codes angewendet wird. Unter bestimmten Umständen kann der Inhalt des Zwischenpuffers, in dem das komprimierte Ergebnis abgelegt wird, den Speicher überlappen, in dem die Symbolhäufigkeitstabelle gespeichert ist. Dadurch werden falsch komprimierte Daten generiert und es kommt zu Abstürzen, wenn außerhalb der Puffergrenze geschrieben wird.

Die Schwachstelle kann nur mit einer Komprimierungsstrategie auf Basis fester Huffman-Codes ausgenutzt werden. Eine ähnliche Strategie wird gewählt, wenn die Option Z_FIXED explizit im Code aktiviert ist (ein Beispiel für eine Sequenz, die bei Verwendung der Option Z_FIXED zu einem Absturz führt). Dem Code nach zu urteilen, kann die Z_FIXED-Strategie auch automatisch ausgewählt werden, wenn der für die Daten berechnete optimale und statische Baum die gleiche Größe hat.

Es ist noch nicht klar, ob die Bedingungen zum Ausnutzen der Sicherheitslücke mithilfe der Standardkomprimierungsstrategie Z_DEFAULT_STRATEGY ausgewählt werden können. Wenn nicht, ist die Schwachstelle auf bestimmte Systeme beschränkt, die explizit die Option Z_FIXED verwenden. Wenn ja, könnte der Schaden durch die Sicherheitslücke sehr erheblich sein, da die zlib-Bibliothek ein De-facto-Standard ist und in vielen beliebten Projekten verwendet wird, darunter Linux-Kernel, OpenSSH, OpenSSL, Apache httpd, libpng, FFmpeg, rsync, dpkg , rpm, Git, PostgreSQL, MySQL usw.

Source: opennet.ru

Kommentar hinzufügen