Rust layihələri üçün istifadə edilən Yük paketi menecerindəki boşluqlar

Rust dilində paketlərin idarə edilməsi və layihələrin qurulması üçün istifadə edilən Yük paketi menecerində üçüncü tərəf repozitoriyalarından xüsusi hazırlanmış paketləri endirərkən istifadə edilə bilən iki boşluq aşkar edilmişdir (rəsmi crates.io repozitoriyasının istifadəçiləri qeyd olunur ki, problemdən təsirlənmir). Birinci boşluq (CVE-2022-36113) cari icazələr icazə verdiyi müddətcə istənilən faylın ilk iki baytının üzərinə yazılmağa imkan verir. İkinci boşluq (CVE-2022-36114) disk yerini tükəndirmək üçün istifadə edilə bilər.

Boşluqlar sentyabrın 1.64-nə planlaşdırılan Rust 22 buraxılışında düzəldiləcək. Zəifliklərə aşağı səviyyədə ciddilik verilir, çünki üçüncü tərəfin depolarından yoxlanılmamış paketlərdən istifadə zamanı oxşar zərər, montaj skriptlərindən və ya paketdə təqdim olunan prosedur makrolarından xüsusi işləyiciləri işə salmaq üçün standart imkandan istifadə etməklə yarana bilər. Eyni zamanda, yuxarıda qeyd olunan problemlər paketi yüklədikdən sonra (montaj etmədən) açılması mərhələsində istismar olunduğundan fərqlənir.

Xüsusilə, paketi endirdikdən sonra yük onun içindəkiləri ~/.cargo kataloquna açır və .cargo-ok faylında uğurlu açılma əlamətini saxlayır. Birinci zəifliyin mahiyyəti ondan ibarətdir ki, paketin yaradıcısı içəridə .cargo-ok adı ilə simvolik keçid yerləşdirə bilər ki, bu da linkin göstərdiyi fayla “ok” mətninin yazılmasına səbəb olacaq.

İkinci zəiflik, arxivdən çıxarılan məlumatların ölçüsündə məhdudiyyətin olmaması ilə əlaqədardır, "zip bombaları" yaratmaq üçün istifadə edilə bilər (arxivdə zip formatı üçün maksimum sıxılma nisbətinə nail olmağa imkan verən məlumatlar ola bilər - təxminən 28 milyon dəfə, bu halda, məsələn, xüsusi hazırlanmış 10 MB zip faylı təxminən 281 TB məlumatın açılması ilə nəticələnəcəkdir).

Mənbə: opennet.ru

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