Kritisk bug i Rust: – Den er overhypet!

"Command injection"-sårbarhet som berører Rust på Windows-plattformen har fått alvorlighetsgrad 10 av 10, men utvikler mener det er overdrevet.

Utvikleren bak YouTube-kanalen Low Level Learning mener Rust-sårbarheten aldri burde vært kategorisert som en 10 av 10-sårbarhet. 📸: YouTube / Low Level Learning
Utvikleren bak YouTube-kanalen Low Level Learning mener Rust-sårbarheten aldri burde vært kategorisert som en 10 av 10-sårbarhet. 📸: YouTube / Low Level Learning Vis mer

Rust-utviklere bes om å snarest mulig oppdatere til siste versjon av Rust, etter at sikkerhetseksperter har oppdaget en kritisk sårbarhet som kan gjøre det mulig å kjøre vilkårlige kommandoer på Windows-baserte PC-er. Det skriver BleepingComputer og The Register.

Sårbarheten (CVE-2024-24576) ligger i Rusts standardbibliotek som ikke "escaper" argumenter riktig når det kaller batch-filer med filendelsene .bat eller .cmd under Windows via Rusts Command-API.

I praksis betyr det at hvis du har Rust-kode som kjører batch-filer i Windows, basert på ikke-validert input fra en bruker, så kan brukeren kontrollere hvilke argumenter som sendes videre til prosessen og på den måten få kjørt vilkårlige shell-kommandoer.

Mener det er overdrevet

Rust-teamet skriver selv at sårbarheten er kritisk hvis du kjører batch-filer i Windows med "untrusted arguments" – mens andre plattformer enn Windows ikke er berørt.

Årsaken er at Windows ikke kan kjøre batch-kommandoer uten Windows' CMD.exe-program. Dermed må Rust ta i bruk mer avanserte metoder for å escape argumenter som sendes videre til batch-filer enn de må på andre plattformer, som Linux.

Logikken for å ta hensyn til CMD.exes særegenheter var ifølge Rust-teamet ikke god nok, noe de nå altså skal ha fikset i en oppdatering.

Du kan lese flere detaljer her, og hvordan du tetter sårbarheten.

Utvikleren bak YouTube-kanalen Low Level Learning demonstrerer i videoen under hvordan sårbarheten fungerer. Han mener imidlertid sårbarheten er overdrevet.

– Jeg synes den er litt overhypet.

– Jeg innrømmer at det er en bug i Rust som ikke er bra. Grunnen til at jeg er opprørt er at jeg ikke synes den rettferdiggjør en 10 av 10.