Тусгайлан боловсруулсан өгөгдлийг шахах үед үүсдэг zlib дахь эмзэг байдал

zlib номын санд эмзэг байдал (CVE-2018-25032) илэрсэн бөгөөд энэ нь ирж буй өгөгдөлд тусгайлан бэлтгэсэн тэмдэгтүүдийн дарааллыг шахах гэж оролдох үед буфер халихад хүргэдэг. Одоогийн байдлаар судлаачид үйл явцыг хэвийн бусаар зогсоох чадварыг харуулсан. Асуудал нь илүү ноцтой үр дагаварт хүргэж болзошгүй эсэхийг хараахан судлаагүй байна.

Энэ эмзэг байдал нь zlib 1.2.2.2 хувилбараас эхлэн гарч ирэх бөгөөд zlib 1.2.11-ийн одоогийн хувилбарт мөн нөлөөлнө. Эмзэг байдлыг засах нөхөөсийг 2018 онд санал болгосон боловч хөгжүүлэгчид үүнийг анхаарч үзээгүй бөгөөд залруулах хувилбарыг гаргаагүй (zlib номын сан хамгийн сүүлд 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 гэх мэт.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх