Rust төслүүдэд ашигласан ачааны багц менежерийн сул талууд

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

1.64-р сарын 22-нд товлогдсон Rust XNUMX-ийн хувилбарт эмзэг байдлыг засна. Гуравдагч этгээдийн хадгалах сангаас баталгаажаагүй багцуудыг ашиглах үед ижил төстэй хор хөнөөл нь угсралтын скрипт эсвэл багцад нийлүүлсэн процедурын макросоос захиалгат зохицуулагчийг эхлүүлэх стандарт боломжийг ашиглан үүсч болзошгүй тул эмзэг байдлыг бага зэрэг хүндээр тооцдог. Үүний зэрэгцээ дээр дурдсан асуудлууд нь багцыг татаж авсны дараа (угсрахгүйгээр) нээх үе шатанд ашиглагдаж байгаагаараа ялгаатай.

Ялангуяа, багцыг татаж авсны дараа ачаа нь ~/.cargo лавлах руу агуулгыг нь задалж, .cargo-ok файлд амжилттай задалсан шинж тэмдгийг хадгалдаг. Эхний эмзэг байдлын мөн чанар нь багцыг бүтээгч дотор нь .cargo-ok гэсэн бэлгэдлийн холбоосыг байрлуулж болох бөгөөд энэ нь холбоосоор заасан файл руу "ok" гэсэн текстийг бичихэд хүргэдэг.

Хоёрдахь эмзэг байдал нь архиваас гаргаж авсан өгөгдлийн хэмжээг хязгаарлаагүйгээс үүдэлтэй бөгөөд үүнийг "зип бөмбөг" үүсгэхэд ашиглаж болно (архив нь зип форматын хамгийн их шахалтын харьцаанд хүрэх боломжийг олгодог өгөгдлийг агуулж болно - ойролцоогоор). 28 сая удаа, энэ тохиолдолд, жишээлбэл, тусгайлан бэлтгэсэн 10 МБ зип файл нь ойролцоогоор 281 ТБ өгөгдлийг задлахад хүргэдэг).

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх