Rust долбоорлору үчүн колдонулган Cargo пакетинин менеджериндеги кемчиликтер

Пакеттерди башкаруу жана Rust тилинде долбоорлорду куруу үчүн колдонулган Cargo пакетинин менеджеринде үчүнчү тараптын репозиторийлеринен атайын иштелип чыккан пакеттерди жүктөөдө пайдаланылышы мүмкүн болгон эки алсыздык аныкталган (расмий crates.io репозиторийинин колдонуучулары айтылган. көйгөй таасир этпейт). Биринчи алсыздык (CVE-2022-36113) учурдагы уруксаттар уруксат берсе, каалаган файлдын алгачкы эки байтын кайра жазууга мүмкүндүк берет. Экинчи аялуу (CVE-2022-36114) дисктеги мейкиндикти түгөтүү үчүн колдонулушу мүмкүн.

Алсыздыктар 1.64-сентябрга пландаштырылган Rust 22 чыгарууда оңдолот. Алсыздыктарга оордуктун төмөн деңгээли ыйгарылат, анткени үчүнчү тараптын репозиторийлеринен текшерилбеген пакеттерди колдонууда ушундай эле зыян топтомдо берилген монтаждык скрипттерден же процедуралык макростордон ыңгайлаштырылган иштеткичтерди ишке киргизүүнүн стандарттуу мүмкүнчүлүгүн колдонуу менен келип чыгышы мүмкүн. Ошол эле учурда, жогоруда айтылган көйгөйлөр жүктөөдөн кийин пакетти ачуу стадиясында (монтаждалбастан) пайдаланылгандыгы менен айырмаланат.

Атап айтканда, пакетти жүктөп алгандан кийин, жүк анын мазмунун ~/.cargo каталогуна ачат жана .cargo-ok файлында ийгиликтүү ачылган белгини сактайт. Биринчи алсыздыктын маңызы пакеттин жаратуучусу ичине .cargo-ok аталышы менен символикалык шилтемени жайгаштырышы мүмкүн, бул шилтеме көрсөткөн файлга “ок” текстин жазууга алып келет.

Экинчи аялуу "zip бомбаларды" түзүү үчүн колдонулушу мүмкүн болгон архивден алынган маалыматтардын өлчөмү боюнча чектөөнүн жоктугу менен шартталган (архивде zip форматы үчүн максималдуу кысуу катышына жетүүгө мүмкүндүк берген маалыматтарды камтышы мүмкүн - болжол менен 28 миллион жолу, бул учурда, мисалы, атайын даярдалган 10 Мб zip файлы болжол менен 281 ТБ маалыматтын декомпрессиясына алып келет).

Source: opennet.ru

Комментарий кошуу