Xüsusi hazırlanmış məlumatların sıxılması zamanı yaranan zlib-də zəiflik

Zlib kitabxanasında daxil olan məlumatlarda xüsusi hazırlanmış simvollar ardıcıllığını sıxışdırmağa cəhd edən zaman bufer daşmasına səbəb olan boşluq (CVE-2018-25032) müəyyən edilib. Tədqiqatçılar hazırkı formada prosesin anormal şəkildə sona çatmasına səbəb olmaq qabiliyyətini nümayiş etdirdilər. Problemin daha ciddi nəticələrə gətirib çıxara biləcəyi hələ öyrənilməyib.

Boşluq zlib 1.2.2.2 versiyasından başlayaraq görünür və həmçinin zlib 1.2.11-in cari buraxılışına təsir göstərir. Maraqlıdır ki, zəifliyi düzəltmək üçün yamaq hələ 2018-ci ildə təklif edilmişdi, lakin tərtibatçılar buna əhəmiyyət vermədilər və düzəldici buraxılış buraxmadılar (zlib kitabxanası sonuncu dəfə 2017-ci ildə yeniləndi). Düzəliş də hələ paylamaların təklif etdiyi paketlərə daxil edilməyib. Düzəlişlərin dərcini bu səhifələrdə paylamalara görə izləyə bilərsiniz: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD. Zlib-ng kitabxanası problemdən təsirlənmir.

Zəiflik, giriş axınında sabit Huffman kodlarına əsasən qablaşdırmanın tətbiq olunduğu çoxlu sayda yığılacaq uyğunluq varsa baş verir. Müəyyən şəraitdə sıxılmış nəticənin yerləşdirildiyi ara buferin məzmunu simvol tezliyi cədvəlinin saxlandığı yaddaşla üst-üstə düşə bilər. Nəticədə, yanlış sıxılmış məlumatlar yaradılır və bufer sərhədindən kənarda yazıldığı üçün qəzalar baş verir.

Zəiflikdən yalnız sabit Huffman kodlarına əsaslanan sıxılma strategiyasından istifadə etməklə istifadə etmək olar. Oxşar strategiya Z_FIXED seçimi kodda açıq şəkildə aktiv edildikdə seçilir (Z_FIXED seçimindən istifadə edərkən qəzaya səbəb olan ardıcıllığın nümunəsi). Koda əsasən, Z_FIXED strategiyası verilənlər üçün hesablanmış optimal və statik ağacların eyni ölçüyə malik olduğu halda avtomatik seçilə bilər.

Zəiflikdən istifadə şərtlərinin standart Z_DEFAULT_STRATEGY sıxılma strategiyasından istifadə etməklə seçilib-seçilməməsi hələ aydın deyil. Əks halda, zəiflik açıq şəkildə Z_FIXED seçimindən istifadə edən müəyyən xüsusi sistemlərlə məhdudlaşacaq. Əgər belədirsə, onda zəiflikdən gələn zərər çox əhəmiyyətli ola bilər, çünki zlib kitabxanası faktiki standartdır və Linux nüvəsi, OpenSSH, OpenSSL, apache httpd, libpng, FFmpeg, rsync, dpkg daxil olmaqla bir çox məşhur layihələrdə istifadə olunur. , rpm, Git , PostgreSQL, MySQL və s.

Mənbə: opennet.ru

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