Kotsi ho Laeborari ea Rust Standard

Ho hloahloa ho ba tlokotsing (CVE-2022-21658) ho laeborari e tloaelehileng ea Rust ka lebaka la maemo a morabe ho ts'ebetso ea std::fs::remove_dir_all(). Haeba ts'ebetso ena e sebelisoa ho hlakola lifaele tsa nakoana ts'ebelisong e khethehileng, mohlaseli a ka khona ho hlakola lifaele tsa sistimi le li-directory tseo mohlaseli a neng a ke ke a khona ho li hlakola.

Kotsi e bakoa ke ts'ebetso e fosahetseng ea ho lekola lihokelo tsa matšoao pele o hlakola li-directory. Sebakeng sa ho thibela li-symlink hore li se ke tsa lateloa, tlosa_dir_all() qala ka ho hlahloba hore na faele ke symlink. Haeba sehokelo se hlalositsoe, joale se hlakotsoe joalo ka faele, 'me haeba e le bukana, joale ts'ebetso ea ho tlosa litaba e bitsoa. Bothata ke hore ho na le tieho e nyane pakeng tsa cheke le ho qala ha ts'ebetso ea ho hlakola.

Nakong eo cheke e seng e ntse e etsoa, ​​​​empa ts'ebetso ea li-directory bakeng sa ho hlakoloa ha e so qale, mohlaseli a ka nkela bukana sebaka ka lifaele tsa nakoana tse nang le sehokelo sa tšoantšetso. Haeba e otla ka nako e nepahetseng, ts'ebetso ea remove_dir_all() e tla tšoara sehokelo sa tšoantšetso joalo ka bukana ebe e qala ho tlosa litaba tseo sehokelo se li supang. Ho sa tsotellehe 'nete ea hore katleho ea tlhaselo e itšetlehile ka ho nepahala ha nako e khethiloeng ea ho fetola bukana le ho otla nako e nepahetseng ka lekhetlo la pele ho ke ke ha etsahala, nakong ea liteko bafuputsi ba ile ba khona ho finyella tlhaselo e atlehileng e pheta-phetoang ka mor'a ho phethahatsa ts'ebetsong ka hare. metsotsoana e seng mekae.

Liphetolelo tsohle tsa Rust ho tloha ho 1.0.0 ho ea ho 1.58.0 ho kenyeletsa li ameha. Taba ena e rarollotsoe ka mokhoa oa patch hajoale (tokiso e tla kenyelletsoa tokollong ea 1.58.1, e lebelletsoeng ka mor'a lihora tse 'maloa). O ka beha leihlo ho felisoa ha tlokotsi ea ho ajoa maqepheng ana: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Basebelisi bohle ba mananeo a Rust a nang le litokelo tse phahameng mme ba sebelisa ts'ebetso ea remove_dir_all ba eletsoa ho ntlafatsa ka potlako Rust ho mofuta oa 1.58.1. Hoa thahasellisa hore patch e lokollotsoeng ha e rarolle bothata lits'ebetsong tsohle; mohlala, ho REDOX OS le liphetolelong tsa macOS pele ho 10.10 (Yosemite), tlokotsi ha e thibeloe ka lebaka la ho ba sieo ha folakha ea O_NOFOLLOW, e thibelang ho latela tšoantšetso. likhokahanyo.

Source: opennet.ru

Eketsa ka tlhaloso