Vulnerabbiltà fil-librerija standard Rust

Ġiet identifikata vulnerabbiltà (CVE-2022-21658) fil-librerija standard Rust minħabba kundizzjoni tar-razza fil-funzjoni std::fs::remove_dir_all(). Jekk din il-funzjoni tintuża biex tħassar fajls temporanji f'applikazzjoni privileġġata, attakkant jista 'jikseb it-tħassir ta' fajls u direttorji tas-sistema arbitrarji li l-attakkant normalment ma jkollux aċċess biex iħassar.

Il-vulnerabbiltà hija kkawżata minn implimentazzjoni żbaljata tal-iċċekkjar ta' links simboliċi qabel ma jitħassru direttorji b'mod rikorsiv. Minflok ma tipprevjeni li s-symlinks jiġu segwiti, remove_dir_all() l-ewwel tiċċekkja biex tara jekk il-fajl huwiex symlink. Jekk rabta hija definita, allura titħassar bħala fajl, u jekk hija direttorju, allura tissejjaħ operazzjoni ta 'tneħħija ta' kontenut rikorsiv. Il-problema hija li hemm dewmien żgħir bejn il-kontroll u l-bidu tal-operazzjoni tat-tħassir.

Fi żmien meta l-verifika diġà twettqet, iżda l-operazzjoni ta 'enumerazzjoni tad-direttorji għat-tħassir għadha ma bdietx, l-attakkant jista' jissostitwixxi d-direttorju b'fajls temporanji b'rabta simbolika. Jekk tolqot fil-ħin it-tajjeb, il-funzjoni remove_dir_all() tittratta l-link simboliku bħala direttorju u tibda tneħħi l-kontenut li lejh tindika l-link. Minkejja l-fatt li s-suċċess ta 'l-attakk jiddependi fuq l-eżattezza tal-ħin magħżul ta' sostituzzjoni tad-direttorju u tolqot il-mument it-tajjeb l-ewwel darba huwa improbabbli, matul l-esperimenti r-riċerkaturi setgħu jiksbu attakk b'suċċess ripetibbli wara li tesegwixxi l-isfruttament fi ħdan ftit sekondi.

Il-verżjonijiet kollha ta' Rust minn 1.0.0 sa 1.58.0 inklużi huma affettwati. Il-kwistjoni ġiet iffissata f'forma ta 'garża għalissa (l-iffissar se jkun inkluż fir-rilaxx 1.58.1, li huwa mistenni fi ftit sigħat). Tista 'tissorvelja l-eliminazzjoni tal-vulnerabbiltà fid-distribuzzjonijiet f'dawn il-paġni: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. L-utenti kollha tal-programmi Rust li jaħdmu bi privileġġi elevati u li jużaw il-funzjoni remove_dir_all huma avżati biex jaġġornaw b'mod urġenti Rust għall-verżjoni 1.58.1. Huwa interessanti li l-garża rilaxxata ma ssolvix il-problema fis-sistemi kollha; pereżempju, f'REDOX OS u verżjonijiet ta' macOS qabel 10.10 (Yosemite), il-vulnerabbiltà mhix imblukkata minħabba n-nuqqas tal-bandiera O_NOFOLLOW, li tiddiżattiva s-segwitu simboliku. links.

Sors: opennet.ru

Żid kumment