Zranitelnost v zlib, projevující se při kompresi speciálně upravených dat

V knihovně zlib byla zjištěna zranitelnost (CVE-2018-25032), která vede k přetečení bufferu při pokusu o kompresi speciálně připravené sekvence znaků ve vstupních datech. V současné podobě byla výzkumníky prokázána možnost způsobení havárie procesu. Zda problém může mít závažnější důsledky, zatím nebylo zkoumáno.

Zranitelnost se projevuje od verze zlib 1.2.2.2 a týká se mimo jiné i aktuálního vydání zlib 1.2.11. Zajímavé je, že oprava zranitelnosti byla navržena již v roce 2018, ale vývojáři ji ignorovali a nevydali opravnou verzi (knihovna zlib byla naposledy aktualizována v roce 2017). Oprava také dosud nebyla zahrnuta do balíčků poskytovaných distribucemi. Sledovat publikaci oprav distribucemi lze na těchto stránkách: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Knihovna zlib-ng není této problémem ohrožena.

Zranitelnost se projevuje, pokud ve vstupním proudu nastane velké množství shodných vzorů, které mají být zabalovány, a na něž se aplikuje komprese na základě pevných kódů Huffmana. Při určitých okolnostech může obsah mezipaměti, do které se ukládá zkomprimovaný výsledek, kolidovat s pamětí, ve které je uložena tabulka frekvencí znaků. V důsledku toho se pozoruje vytváření nesprávných zkomprimovaných dat a selhání kvůli zápisu mimo hranice bufferu.

Zranitelnost může být zneužita pouze při použití kompresní strategie na základě pevných kódů Huffmana. Taková strategie je vybrána při explicitním zapnutí možnosti Z_FIXED v kódu (příklad sekvence, která vede k havárii při použití možnosti Z_FIXED). Podle kódu může být strategie Z_FIXED také vybrána automaticky, pokud mají optimální a statické stromy vyčíslené pro data stejnou velikost.

Není jasné, zda lze přizpůsobit podmínky pro zneužití zranitelnosti při použití kompresní strategie Z_DEFAULT_STRATEGY, která se používá jako výchozí. Pokud ne, zranitelnost bude omezena na jednotlivé specifické systémy, ve kterých je explicitně nastavena volba Z_FIXED. Pokud ano, mohou být škody způsobené zranitelností velmi významné, neboť knihovna zlib je de facto standardem a používá se v mnoha populárních projektech, včetně jádra Linux, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg, rpm, Git, PostgreSQL, MySQL atd.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster