Sårbarheder i Cargo-pakkemanageren brugt til Rust-projekter

I Cargo-pakkehåndteringen, der bruges til at administrere pakker og bygge projekter i Rust-sproget, er der identificeret to sårbarheder, der kan udnyttes ved download af specialdesignede pakker fra tredjeparts-depoter (det oplyses, at brugere af det officielle crates.io-lager er ikke berørt af problemet). Den første sårbarhed (CVE-2022-36113) tillader, at de første to bytes af enhver fil kan overskrives, så længe de nuværende tilladelser tillader det. Den anden sårbarhed (CVE-2022-36114) kan bruges til at opbruge diskplads.

Sårbarhederne vil blive rettet i udgivelsen af ​​Rust 1.64, planlagt til den 22. september. Sårbarhederne tildeles et lavt niveau af sværhedsgrad, da lignende skader kan forårsages, når du bruger ikke-verificerede pakker fra tredjepartslagre ved at bruge standardevnen til at starte brugerdefinerede handlere fra assembly-scripts eller proceduremæssige makroer, der er leveret i pakken. Samtidig adskiller de ovennævnte problemer sig ved, at de udnyttes på tidspunktet for åbning af pakken efter download (uden montering).

Især efter at have downloadet en pakke, pakker cargo dets indhold ud i ~/.cargo-biblioteket og gemmer et tegn på vellykket udpakning i .cargo-ok-filen. Essensen af ​​den første sårbarhed er, at pakkeopretteren kan placere et symbolsk link inde med navnet .cargo-ok, hvilket vil føre til, at teksten "ok" skrives til filen, som linket peger på.

Den anden sårbarhed er forårsaget af manglen på en grænse for størrelsen af ​​data udtrukket fra arkivet, som kan bruges til at skabe "zip bombs" (arkivet kan indeholde data, der gør det muligt at opnå det maksimale kompressionsforhold for zip-formatet - ca. 28 millioner gange, i dette tilfælde vil en specielt forberedt 10 MB zip-fil f.eks. resultere i dekomprimering af cirka 281 TB data).

Kilde: opennet.ru

Tilføj en kommentar