A sérülékenység a zlib könyvtárban (CVE-2018-25032) egy puffertúlcsorduláshoz vezet, amikor egy előre elkészített karakterláncot próbálunk tömöríteni a bemeneti adatokban. Jelenlegi állapotában a kutatók bemutatták, hogy lehetőség van a folyamat leállítására. Még nem tanulmányozták, hogy a probléma további súlyos következményekkel járhat-e.
A sérülékenység a zlib 1.2.2.2 verziójától kezdődően jelentkezik és érinti a zlib 1.2.11 legfrissebb kiadását is. Érdekes, hogy a sérülékenység javítására a javítócsomag már 2018-ban javasolták, de a fejlesztők nem figyeltek rá és nem adtak ki helyesbítést (a zlib könyvtár utoljára 2017-ben frissült). A javítás még nem került bele a disztribúciók által kínált csomagokba sem. A disztribúciók által kiadott javítások nyomon követhetők ezeken az oldalakon: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. A zlib-ng könyvtár nem érintett a problémában.
A sérülékenység akkor jelentkezik, ha a bemeneti folyamban sok, csomagolásra alkalmas egyezés található, amelyekre fix Huffman kódok alapú csomagolás vonatkozik. Bizonyos körülmények között a közbenső pufferen tárolt tömörített eredmény tartalma átfedheti azt a memóriát, amelyben a karakterek frekvenciatáblája található. Ennek következtében helytelen tömörített adatok keletkeznek, és a puffertúlcsordulás miatt összeomlik a rendszer.
A sérülékenység csak akkor kihasználható, ha a fix Huffman kódokon alapuló csomagolási stratégiát használják. Ilyen stratégia választható, ha a kódban kifejezetten engedélyezik az Z_FIXED opciót (példa egy sorozatra, amely összeomlást okoz az Z_FIXED opció használatakor). A kód alapján a Z_FIXED stratégia automatikusan is választható, ha az adatokhoz számított optimális és statikus fák azonos méretűek.
Jelenleg nem világos, hogy lehetséges-e a Z_DEFAULT_STRATEGY tömörítési stratégia kihasználhatósági feltételeit megteremteni, amely az alapértelmezett beállítás. Ha nem, akkor a sérülékenység korlátozódni fog bizonyos specifikus rendszerekre, ahol kifejezetten alkalmazzák a Z_FIXED opciót. Ha igen, akkor a sérülékenységből származó kár nagyon jelentős lehet, mivel a zlib könyvtár de facto szabványnak számít, és számos népszerű projektben használják, beleértve a Linux magot, az OpenSSH-t, az OpenSSL-t, az apache httpd-t, a libpng-t, a FFmpeg-et, a rsync-et, a dpkg-t, a rpm-t, a Git-et, a PostgreSQL-t, a MySQL-t stb.
Forrás: opennet.ru
