Ranjivost u zlib-u koja se javlja prilikom komprimiranja posebno dizajniranih podataka

Identifikovana je ranjivost (CVE-2018-25032) u zlib biblioteci, što dovodi do prelivanja bafera pri pokušaju kompresije posebno pripremljenog niza znakova u dolaznim podacima. U svom sadašnjem obliku, istraživači su pokazali sposobnost da izazovu nenormalan završetak procesa. Još nije proučeno da li bi problem mogao imati ozbiljnije posljedice.

Ranjivost se pojavljuje počevši od verzije zlib 1.2.2.2 i također utiče na trenutno izdanje zlib 1.2.11. Važno je napomenuti da je zakrpa za ispravljanje ranjivosti predložena još 2018. godine, ali programeri nisu obratili pažnju na to i nisu objavili korektivno izdanje (zlib biblioteka je posljednji put ažurirana 2017.). Popravak također još nije uključen u pakete koje nude distribucije. Možete pratiti objavljivanje popravaka po distribucijama na ovim stranicama: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Problem ne utiče na zlib-ng biblioteku.

Ranjivost se javlja ako ulazni tok sadrži veliki broj podudaranja koje treba spakovati, na koje se pakovanje primjenjuje na osnovu fiksnih Huffmanovih kodova. Pod određenim okolnostima, sadržaj srednjeg bafera u koji se nalazi komprimirani rezultat može preklapati memoriju u kojoj je pohranjena tablica frekvencije simbola. Kao rezultat, generiraju se netočni komprimirani podaci i padaju zbog pisanja izvan granice međuspremnika.

Ranjivost se može iskoristiti samo upotrebom strategije kompresije zasnovane na fiksnim Huffman kodovima. Slična strategija se bira kada je opcija Z_FIXED eksplicitno omogućena u kodu (primjer sekvence koja vodi do pada kada se koristi opcija Z_FIXED). Sudeći po kodu, Z_FIXED strategija se takođe može odabrati automatski ako optimalno i statičko stablo izračunato za podatke imaju istu veličinu.

Još nije jasno da li se uslovi za iskorišćavanje ranjivosti mogu izabrati korišćenjem podrazumevane strategije kompresije Z_DEFAULT_STRATEGY. Ako ne, tada će ranjivost biti ograničena na određene specifične sisteme koji eksplicitno koriste opciju Z_FIXED. Ako je tako, onda bi šteta od ranjivosti mogla biti vrlo značajna, budući da je zlib biblioteka de facto standard i koristi se u mnogim popularnim projektima, uključujući Linux kernel, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg , rpm, Git, PostgreSQL, MySQL, itd.

izvor: opennet.ru

Dodajte komentar