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.