Sårbarheter i Cargo package manager brukt til Rust-prosjekter

To sårbarheter er identifisert i Cargo-pakkebehandleren, som brukes til å administrere pakker og bygge prosjekter på Rust-språket, som kan utnyttes ved nedlasting av spesialdesignede pakker fra tredjeparts depoter (det påstås at brukere av de offisielle kassene. io-depotet ble ikke påvirket av problemet). Den første sårbarheten (CVE-2022-36113) gjør det mulig å overskrive de to første bytene i en hvilken som helst fil, så lenge gjeldende tillatelser tillater det. Den andre sårbarheten (CVE-2022-36114) kan utnyttes for å tømme ledig diskplass.

Sårbarhetene vil bli fikset i utgivelsen av Rust 1.64, planlagt til 22. september. Sårbarhetene tildeles et lavt alvorlighetsnivå, siden lignende skade ved bruk av ubekreftede pakker fra tredjepartsdepoter kan forårsakes av standard evnen til å kjøre behandlerne deres fra byggeskriptene eller prosedyremakroene som er levert i pakken. Samtidig skiller de ovennevnte problemene seg ved at operasjonen deres utføres på scenen for å åpne pakken etter lasting (uten montering).

Spesielt, etter å ha lastet en pakke, pakker cargo ut innholdet i ~/.cargo-katalogen og lagrer et tegn på vellykket utpakking i .cargo-ok-filen. Essensen av den første sårbarheten er at skaperen av pakken kan plassere en symbolsk lenke inne med navnet .cargo-ok, noe som vil føre til at teksten "ok" skrives til filen som lenken peker på.

Den andre sårbarheten er forårsaket av mangelen på en grense for størrelsen på data hentet ut fra arkivet, som kan brukes til å lage "zip-bomber" (data kan plasseres i arkivet for å oppnå maksimalt komprimeringsforhold for zip-formatet - ca. 28 millioner ganger, i dette tilfellet vil for eksempel en spesiallaget 10 MB zip-fil pakke ut ca. 281 TB med data).

Kilde: opennet.ru

Legg til en kommentar