Խոցելիություն zlib-ում, որն առաջանում է հատուկ մշակված տվյալները սեղմելիս

zlib գրադարանում հայտնաբերվել է խոցելիություն (CVE-2018-25032), որը հանգեցնում է բուֆերի արտահոսքի՝ մուտքային տվյալների մեջ հատուկ պատրաստված նիշերի հաջորդականությունը սեղմելիս: Իր ներկայիս ձևով հետազոտողները ցուցադրել են գործընթացի աննորմալ ավարտը պատճառելու ունակությունը: Արդյո՞ք խնդիրն ավելի լուրջ հետևանքներ կարող է ունենալ, դեռևս չի ուսումնասիրվել։

Խոցելիությունը հայտնվում է zlib 1.2.2.2 տարբերակից սկսած և ազդում է նաև zlib 1.2.11-ի ընթացիկ թողարկման վրա: Հատկանշական է, որ խոցելիությունը շտկելու համար կարկատան առաջարկվել էր դեռևս 2018 թվականին, սակայն մշակողները դրան ուշադրություն չեն դարձրել և ուղղիչ թողարկում չեն թողարկել (զլիբի գրադարանը վերջին անգամ թարմացվել է 2017 թվականին)։ Ուղղումը նույնպես դեռ ներառված չէ բաշխումների կողմից առաջարկվող փաթեթներում: Դուք կարող եք հետևել ուղղումների հրապարակմանը ըստ բաշխումների այս էջերում՝ Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD: Խնդիրը չի ազդում zlib-ng գրադարանի վրա:

Խոցելիությունը տեղի է ունենում, եթե մուտքային հոսքը պարունակում է մեծ թվով համընկնումներ, որոնք պետք է փաթեթավորվեն, որոնց վրա փաթեթավորումը կիրառվում է ֆիքսված Հաֆմանի կոդերի հիման վրա: Որոշակի հանգամանքներում միջանկյալ բուֆերի պարունակությունը, որի մեջ տեղադրված է սեղմված արդյունքը, կարող է համընկնել այն հիշողության հետ, որում պահվում է խորհրդանիշի հաճախականության աղյուսակը: Արդյունքում սխալ սեղմված տվյալներ են ստեղծվում և խափանում՝ բուֆերային սահմանից դուրս գրելու պատճառով:

Խոցելիությունը կարող է օգտագործվել միայն սեղմման ռազմավարության միջոցով, որը հիմնված է ֆիքսված Huffman կոդերի վրա: Նմանատիպ ռազմավարություն է ընտրվում, երբ Z_FIXED տարբերակը բացահայտորեն միացված է կոդում (հաջորդականության օրինակ, որը հանգեցնում է խափանման Z_FIXED տարբերակն օգտագործելիս): Դատելով կոդից՝ Z_FIXED ռազմավարությունը կարող է նաև ընտրվել ավտոմատ կերպով, եթե տվյալների համար հաշվարկված օպտիմալ և ստատիկ ծառերը ունեն նույն չափը։

Դեռ պարզ չէ, թե արդյոք խոցելիության օգտագործման պայմանները կարող են ընտրվել՝ օգտագործելով լռելյայն Z_DEFAULT_STRATEGY սեղմման ռազմավարությունը: Եթե ​​ոչ, ապա խոցելիությունը կսահմանափակվի որոշակի կոնկրետ համակարգերով, որոնք բացահայտորեն օգտագործում են Z_FIXED տարբերակը: Եթե ​​այո, ապա խոցելիությունից վնասը կարող է շատ զգալի լինել, քանի որ zlib գրադարանը դե ֆակտո ստանդարտ է և օգտագործվում է շատ հայտնի նախագծերում, ներառյալ Linux միջուկը, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg: , rpm, Git, PostgreSQL, MySQL և այլն:

Source: opennet.ru

Добавить комментарий