Zlib teegis avastus (CVE-2018-25032), mis põhjustab puhversalvese ülevoolu, kui proovida suruda kokku spetsiaalselt ettevalmistatud sümbolite järjestust sisendandmetes. Praeguses vormis on teadlased demonstreerinud, et probleem võib põhjustada protsessi ootamatut lõpetamist. Probleemi tõsidust pole veel uuritud.
Avasuus on probleem, mis ilmneb alates zlib 1.2.2.2 versioonist ja mõjutab ka praegust versiooni zlib 1.2.11. Muidugi, et kiirus, mis probleemi lahendamiseks väljapakuti, anti välja juba 2018. aastal, kuid arendajad ei pööranud sellele tähelepanu ega avaldanud paranduste väljaannet (zlib teek oli viimati värskendatud 2017. aastal). Parandust pole siiani ka jaotustes pakutavatesse pakettidesse kaasatud. Paranduste avaldamise jälgimiseks jaotustes, vaadake järgmisi lehti: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Teek zlib-ng pole haavatav.
Avasuus ilmneb, kui sisendis on suur hulk sobivaid pakenduspunkte, millele rakendatakse fikseeritud Huffmani koodide põhjal pakendamist. Teatud tingimustel võib vahepealse puhversalvese sisu, kuhu salvestatakse surutud tulemus, kattuda mäluga, mis säilitab sümbolite sagedustabeli. Tulemuseks on valepressed andmete genereerimine ja avarii puhversalvese ülevoolu tõttu.
Vastuvõtmine kannatab ainult fikseeritud Huffmani koodide põhjal pakendamise strateegia rakendamisel. Selline strateegia valitakse, kui Z_FIXED valik on koodis selgelt sisse lülitatud (näide järjestusest, mis võib põhjustada avariid, kui Z_FIXED valik on sisse lülitatud). Koodeks Z_FIXED strateegia võib automaatselt valida, kui andmetele arvutatud optimaalsed ja staatilised puud on sama suurusega.
Ei ole selge, kas Z_DEFAULT_STRATEGY kokkusurumise strateegia abil, mida kasutatakse vaikimisi, on võimalik ohutuse tagamiseks tingimusi leida. Kui ei, siis piirneb haavatavus eraldi spetsiifiliste süsteemidega, kus Z_FIXED valik on selgelt rakendatud. Kui jah, siis haavatavuse eest saadav kahju võib olla väga märkimisväärne, kuna zlib teeki peetakse de facto standardiks ja seda kasutatakse paljudes populaarsetes projektides, sealhulgas Linuxi, OpenSSH, OpenSSL, Apache HTTPD, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL jne.
Allikas: opennet.ru
