„Rust“ projektams naudojamos „Cargo“ paketo tvarkyklės pažeidžiamumas

„Cargo“ paketų tvarkyklėje, kuri naudojama paketams tvarkyti ir kurti projektus Rust kalba, buvo nustatytos dvi spragos, kuriomis galima pasinaudoti atsisiunčiant specialiai sukurtus paketus iš trečiųjų šalių saugyklų (teigiama, kad oficialių dėžių vartotojai. io saugyklai problema neturėjo įtakos). Pirmasis pažeidžiamumas (CVE-2022-36113) leidžia perrašyti pirmuosius du baitus bet kuriame faile, jei tai leidžia esami leidimai. Antrasis pažeidžiamumas (CVE-2022-36114) gali būti išnaudotas siekiant išeikvoti laisvą vietą diske.

Pažeidžiamumas bus ištaisytas „Rust 1.64“ versijoje, kurią planuojama išleisti rugsėjo 22 d. Pažeidžiamumui priskiriamas žemas sunkumo lygis, nes panašią žalą naudojant nepatvirtintus paketus iš trečiųjų šalių saugyklų gali sukelti standartinė galimybė paleisti jų tvarkykles iš pakete pateiktų kūrimo scenarijų arba procedūrinių makrokomandų. Tuo pačiu metu minėtos problemos skiriasi tuo, kad jų veikimas atliekamas pakuotės atidarymo etape po pakrovimo (nesurinkus).

Visų pirma, pakrovus pakuotę, krovinys išpakuoja jo turinį į ~/.cargo katalogą ir išsaugo sėkmingo išpakavimo ženklą .cargo-ok faile. Pirmojo pažeidžiamumo esmė yra ta, kad paketo kūrėjas viduje gali įdėti simbolinę nuorodą pavadinimu .cargo-ok, dėl kurios į nuorodos nurodytą failą bus parašytas tekstas „ok“.

Antrasis pažeidžiamumas atsiranda dėl to, kad neribojamas iš archyvo išgaunamų duomenų dydis, kurį galima naudoti kuriant „zip bombas“ (duomenys gali būti dedami į archyvą, kad būtų pasiektas maksimalus zip formato suspaudimo laipsnis – apie 28 milijonus kartų, tokiu atveju, pavyzdžiui, specialiai paruoštas 10 MB zip failas išpakuos apie 281 TB duomenų).

Šaltinis: opennet.ru

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