Bereziki diseinatutako datuak konprimitzean gertatzen den zlib-n ahultasuna

Zaurgarri bat (CVE-2018-25032) identifikatu da zlib liburutegian, eta buffer gainezka dakar sarrerako datuetan bereziki prestatutako karaktere-sekuentzia bat konprimitzen saiatzean. Gaur egungo forman, ikertzaileek frogatu dute prozesu bat modu anormalean amaitzea eragiteko gaitasuna. Arazoak ondorio larriagoak izan ditzakeen ala ez oraindik ez da aztertu.

Zaurgarritasuna zlib 1.2.2.2 bertsiotik hasita agertzen da eta zlib 1.2.11 uneko bertsioari ere eragiten dio. Aipagarria da 2018an ahulezia zuzentzeko adabaki bat proposatu zela, baina garatzaileek ez zioten kasurik egin eta ez zuten kaleratu zuzentzailerik (zlib liburutegia 2017an eguneratu zen azkenekoz). Konponketa ere ez dago oraindik banaketak eskaintzen dituen paketeetan. Orrialde hauetan banatutako konponketen argitalpenaren jarraipena egin dezakezu: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. zlib-ng liburutegiak ez du arazoa eragiten.

Zaurgarritasuna gertatzen da sarrera-korronteak paketatu beharreko partida kopuru handia badu, eta horiei Huffman kode finkoetan oinarrituta aplikatzen zaie. Zenbait kasutan, konprimitutako emaitza jartzen den tarteko buffer-aren edukiak sinboloen maiztasun-taula gordetzen den memorian gainjar daitezke. Ondorioz, konprimitutako datu okerrak sortzen dira eta huts egiten dute buffer-en mugatik kanpo idazteagatik.

Ahultasuna Huffman kode finkoetan oinarritutako konpresio estrategia erabiliz soilik ustiatu daiteke. Antzeko estrategia bat aukeratzen da kodean Z_FIXED aukera esplizituki gaituta dagoenean (Z_FIXED aukera erabiltzean hutsegite bat eragiten duen sekuentzia baten adibidea). Kodearen arabera, Z_FIXED estrategia automatikoki ere hauta daiteke datuetarako kalkulatutako zuhaitz optimo eta estatikoek tamaina bera badute.

Oraindik ez dago argi ahultasuna ustiatzeko baldintzak Z_DEFAULT_STRATEGY konpresio estrategia lehenetsia erabiliz hauta daitezkeen. Hala ez bada, ahultasuna Z_FIXED aukera esplizituki erabiltzen duten sistema zehatz batzuetara mugatuko da. Hala bada, ahultasunaren kaltea oso garrantzitsua izan daiteke, zlib liburutegia de facto estandarra baita eta proiektu ezagun askotan erabiltzen baita, besteak beste, Linux kernelean, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg. , rpm, Git , PostgreSQL, MySQL, etab.

Iturria: opennet.ru

Gehitu iruzkin berria