Ранливост во zlib што се јавува при компресирање на специјално дизајнирани податоци

Идентификувана е ранливост (CVE-2018-25032) во библиотеката zlib, што доведува до прелевање на баферот кога се обидувате да компресирате специјално подготвена низа знаци во дојдовните податоци. Во сегашната форма, истражувачите покажаа способност да предизвикаат ненормално завршување на процесот. Дали проблемот може да има посериозни последици сè уште не е проучено.

Ранливоста се појавува почнувајќи од верзијата zlib 1.2.2.2 и исто така влијае на тековното издание на zlib 1.2.11. Вреди да се одбележи дека лепенка за корекција на ранливоста беше предложена уште во 2018 година, но програмерите не обрнаа внимание на тоа и не објавија корективно издание (библиотеката zlib последен пат беше ажурирана во 2017 година). Поправката, исто така, сè уште не е вклучена во пакетите што ги нудат дистрибуциите. Можете да го следите објавувањето на поправките по дистрибуции на овие страници: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Библиотеката zlib-ng не е засегната од проблемот.

Ранливоста се јавува ако влезниот тек содржи голем број совпаѓања што треба да се спакуваат, на кои пакувањето се применува врз основа на фиксните Хафманови кодови. Под одредени околности, содржината на средниот тампон во кој е сместен компримираниот резултат може да се преклопува со меморијата во која е зачувана табелата за фреквенција на симболи. Како резултат на тоа, се генерираат неточни компресирани податоци и паѓаат поради пишување надвор од границата на баферот.

Ранливоста може да се искористи само со помош на стратегија за компресија базирана на фиксни Хафманови кодови. Слична стратегија се избира кога опцијата Z_FIXED е експлицитно овозможена во кодот (пример на низа што доведува до паѓање кога се користи опцијата Z_FIXED). Судејќи според кодот, стратегијата Z_FIXED може да се избере и автоматски доколку оптималните и статичните стебла пресметани за податоците имаат иста големина.

Сè уште не е јасно дали условите за искористување на ранливоста може да се изберат со користење на стандардната стратегија за компресија Z_DEFAULT_STRATEGY. Ако не, тогаш ранливоста ќе биде ограничена на одредени специфични системи кои експлицитно ја користат опцијата Z_FIXED. Ако е така, тогаш штетата од ранливоста може да биде многу значајна, бидејќи злиб библиотеката е де факто стандард и се користи во многу популарни проекти, вклучувајќи го Linux кернелот, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg , вртежи во минута, Git , PostgreSQL, MySQL, итн.

Извор: opennet.ru

Додадете коментар