Zehfbûn di pirtûkxaneya standard a Rust de

Ji ber rewşek nijadî di fonksiyona std::fs::remove_dir_all() de qelsiyek (CVE-2022-21658) di pirtûkxaneya standard Rust de hate nas kirin. Ger ev fonksiyon ji bo jêbirina pelên demkî yên di serîlêdanek îmtiyazê de were bikar anîn, êrîşkar dikare pel û pelên pergalê yên keyfî jêbirin ku êrîşkar bi gelemperî negihîje jêbirina wan.

Qelsî ji ber pêkanîna nerast a kontrolkirina girêdanên sembolîk beriya ku bi rengek vegerî pelrêçan jêbirin, çêdibe. Li şûna ku rê li ber şopandina symlinks bigire, pêşî remove_dir_all() kontrol dike ka pelê sîmgirêk e. Ger girêdanek were destnîşankirin, wê hingê ew wekî pel tê jêbirin, û heke pelrêkek be, wê hingê operasyona rakirina naverokê ya paşverû tê gotin. Pirsgirêk ev e ku di navbera kontrolê û destpêkirina operasyona jêbirinê de derengiyek piçûk heye.

Di demekê de ku kontrol jixwe hatîye kirin, lê operasyona jimartina pelrêçan ji bo jêbirinê hîn dest pê nekiriye, êrîşkar dikare pelrêça bi pelên demkî bi girêdanek sembolîk veguherîne. Ger ew di wextê rast de biqewime, fonksiyona remove_dir_all() dê zencîreya sembolîk wekî pelrêçek bigire û dest bi rakirina naveroka ku zencîre nîşan dide. Tevî vê rastiyê ku serkeftina êrîşê bi rastbûna dema hilbijartî ya veguheztina pelrêça û lêdana gava rast a yekem car ve girêdayî ye, di dema ceribandinan de lêkolîner karîbûn êrîşek serketî ya dubarekirî bi dest bixin piştî ku îstîsmara di hundurê de pêk anîn. çend saniyeyan.

Hemî guhertoyên Rust ji 1.0.0 heta 1.58.0 tevde bandor dibin. Pirsgirêk ji bo nuha di forma patchê de hate çareser kirin (serrastkirin dê di berdana 1.58.1 de, ku di nav çend demjimêran de tête hêvî kirin) were çareser kirin. Hûn dikarin li ser van rûpelan rakirina qelsiya di belavkirinan de bişopînin: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Hemî bikarhênerên bernameyên Rust ên ku bi îmtiyazên bilind têne xebitandin û fonksiyona remove_dir_all bikar tînin têne pêşniyar kirin ku bi lezgîn Rust-ê li guhertoya 1.58.1 nûve bikin. Balkêş e ku paçeya hatî berdan pirsgirêkê li ser hemî pergalan çareser nake; Mînakî, di REDOX OS û guhertoyên macOS-ê yên berî 10.10 (Yosemite) de, ji ber nebûna ala O_NOFOLLOW, ku li dû sembolîk neçalak dike, xisar nayê asteng kirin. girêdan.

Source: opennet.ru

Add a comment