Rust նախագծերի համար օգտագործվող Cargo փաթեթի կառավարչի խոցելիությունները

Cargo փաթեթների կառավարիչում, որն օգտագործվում է Rust լեզվով փաթեթներ կառավարելու և նախագծեր կառուցելու համար, հայտնաբերվել են երկու խոցելիություններ, որոնք կարող են շահագործվել երրորդ կողմի պահեստներից հատուկ մշակված փաթեթներ ներբեռնելիս (նշվում է, որ պաշտոնական crates.io պահեստի օգտվողները խնդիրը չի ազդում): Առաջին խոցելիությունը (CVE-2022-36113) թույլ է տալիս վերագրանցել ցանկացած ֆայլի առաջին երկու բայթը, քանի դեռ թույլ են տալիս ընթացիկ թույլտվությունները: Երկրորդ խոցելիությունը (CVE-2022-36114) կարող է օգտագործվել սկավառակի տարածքը սպառելու համար:

Խոցելիությունները կշտկվեն Rust 1.64-ի թողարկման մեջ, որը նախատեսված է սեպտեմբերի 22-ին: Խոցելիություններին հատկացվում է խստության ցածր մակարդակ, քանի որ նմանատիպ վնաս կարող է առաջանալ երրորդ կողմի պահոցներից չստուգված փաթեթներ օգտագործելիս՝ օգտագործելով փաթեթում մատակարարված հավաքման սկրիպտներից կամ ընթացակարգային մակրոներից հատուկ մշակիչներ գործարկելու ստանդարտ հնարավորությունը: Միևնույն ժամանակ, վերը նշված խնդիրները տարբերվում են նրանով, որ դրանք շահագործվում են փաթեթը ներբեռնելուց հետո (առանց հավաքման) բացելու փուլում։

Մասնավորապես, փաթեթը ներբեռնելուց հետո բեռը բացում է իր պարունակությունը ~/.cargo գրացուցակում և պահպանում է .cargo-ok ֆայլում հաջող ապափաթեթավորման նշանը: Առաջին խոցելիության էությունն այն է, որ փաթեթի ստեղծողը կարող է ներսում տեղադրել .cargo-ok անունով խորհրդանշական հղում, որը կհանգեցնի հղումով մատնանշված ֆայլի վրա «ok» տեքստը գրելուն:

Երկրորդ խոցելիությունը պայմանավորված է արխիվից արդյունահանվող տվյալների չափի սահմանափակում չունենալով, որոնք կարող են օգտագործվել «zip ռումբեր» ստեղծելու համար (արխիվը կարող է պարունակել տվյալներ, որոնք թույլ են տալիս հասնել zip ձևաչափի առավելագույն սեղմման հարաբերակցությանը. 28 միլիոն անգամ, այս դեպքում, օրինակ, հատուկ պատրաստված 10 ՄԲ zip ֆայլը կհանգեցնի մոտավորապես 281 ՏԲ տվյալների ապասեղմմանը):

Source: opennet.ru

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