Zlib raamatukogus tuvastati haavatavus (CVE-2018-25032), mis pĂ”hjustab pĂŒstitatud sĂŒmbolite jĂ€rjestuse tihendamisel puhversalvese tĂ€itumise. Praeguses vormis demonstreeriti uurijate poolt vĂ”imalust protsessi Ă€kiliseks lĂ”petamiseks. Probleemi tĂ”sisemaid tagajĂ€rgi pole veel uuritud.
Haavatavus ilmneb alates versioonist zlib 1.2.2.2, mÔjutades ka viimast zlib 1.2.11 vÀljaannet. MÀrkimisvÀÀrne on see, et haavatavuse parandamiseks mÔeldud patch esitati juba 2018. aastal, kuid arendajad ei pööranud sellele tÀhelepanu ega vÀljastanud parandavat vÀljaannet (zlib raamatukogu vÀrskendati viimati 2017. aastal). Parandust ei ole samuti praegu kaasatud pakettide koosseisu, mida pakuvad erinevad distributsioonid. Paranduste avaldamist distributsioonide poolt saab jÀlgida jÀrgmiste lehtede kaudu: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Zlib-ng raamatukogu ei ole sellele probleemile vastuvÔtlik.
Haavatavus ilmneb siis, kui sisestusteenuses kohtab suurt arvu pakendamisele alluvaid vasteid, millele rakendatakse fikseeritud Huffmani koodide pĂ”hjal pakendamist. Teatud tingimustel vĂ”ib vahebufferisse, kuhu tĂ”mmatud tulemus paigutatakse, kattuda mĂ€luga, kus hoitakse sĂŒmbolite sagedustabelit. Selle tulemusena moodustuvad vale surutud andmed ja crash, kuna kirjutatakse mĂ€lupiirist vĂ€lja.
Haavatavust saab Ă€ra kasutada ainult siis, kui kasutada fikseeritud Huffmani koodide pĂ”hjal surumistrateegiat. Selline strateegia valitakse koodis Z_FIXED valiku selge sisselĂŒlitamisega (nĂ€ide jĂ€rjekorrast, mis viib Z_FIXED valiku kasutamise korral crash'ini). Koodi kohaselt vĂ”ib Z_FIXED strateegiat ka automaatselt valida, kui andmete jaoks arvutatud optimaalsed ja staatilised puud on sama suurusega.
Praegu ei ole selge, kas haavatavuse ekspluateerimiseks saab kohaldada tingimusi, kui kasutatakse vaikimisi rakendatavat Z_DEFAULT_STRATEGY tihendamisstrateegiat. Kui ei, siis piirab haavatavus ainult teatud spetsiifilisi sĂŒsteeme, kus valik Z_FIXED on selgelt rakendatud. Kui jah, siis vĂ”ib haavatavuse kahju olla vĂ€ga suur, kuna zlib teek on de facto standard ja seda kasutatakse paljudes populaarsetes projektides, sealhulgas Linuxi tuumas, OpenSSH, OpenSSL, Apache httpd, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL jne.
Allikas: opennet.ru
