Rust loyihalari uchun ishlatiladigan yuk paketi menejeridagi zaifliklar

Rust tilida paketlarni boshqarish va loyihalarni yaratish uchun foydalaniladigan Cargo paketlar menejerida uchinchi tomon omborlaridan maxsus ishlab chiqilgan paketlarni yuklab olishda foydalanish mumkin bo'lgan ikkita zaiflik aniqlandi (rasmiy crates.io ombori foydalanuvchilari ko'rsatilgan. muammo ta'sir qilmaydi). Birinchi zaiflik (CVE-2022-36113) joriy ruxsatnomalar ruxsat bergan ekan, har qanday faylning dastlabki ikki baytini qayta yozishga imkon beradi. Ikkinchi zaiflik (CVE-2022-36114) disk maydonini tugatish uchun ishlatilishi mumkin.

Zaifliklar 1.64 sentabrga rejalashtirilgan Rust 22 versiyasida tuzatiladi. Zaifliklar past darajadagi zo'ravonlik bilan belgilanadi, chunki shunga o'xshash zarar uchinchi tomon omborlaridan tasdiqlanmagan paketlarni yig'ish skriptlari yoki paketda taqdim etilgan protsessual makroslardan maxsus ishlov beruvchilarni ishga tushirishning standart qobiliyatidan foydalanganda keltirishi mumkin. Shu bilan birga, yuqorida aytib o'tilgan muammolar paketni yuklab olishdan keyin (yig'ishsiz) ochish bosqichida ekspluatatsiya qilinishi bilan farqlanadi.

Xususan, paketni yuklab olgandan so'ng, yuk o'z tarkibini ~/.cargo katalogiga ochadi va .cargo-ok faylida muvaffaqiyatli yechish belgisini saqlaydi. Birinchi zaiflikning mohiyati shundan iboratki, paket yaratuvchisi ichiga .cargo-ok nomi bilan ramziy havolani joylashtirishi mumkin, bu esa havola koβ€˜rsatgan faylga β€œok” matnini yozishga olib keladi.

Ikkinchi zaiflik arxivdan olingan ma'lumotlar hajmi bo'yicha cheklovning yo'qligi bilan bog'liq bo'lib, undan "zip bomba"larini yaratishda foydalanish mumkin (arxivda zip formati uchun maksimal siqish nisbatiga erishish imkonini beruvchi ma'lumotlar bo'lishi mumkin - taxminan 28 million marta, bu holda, masalan, maxsus tayyorlangan 10 MB zip fayli taxminan 281 TB ma'lumotni ochishga olib keladi).

Manba: opennet.ru

a Izoh qo'shish