Leochaileacht i leabharlann chaighdeánach Rust

Aithníodh leochaileacht (CVE-2022-21658) i leabharlann chaighdeánach Rust mar gheall ar riocht cine san fheidhm std::fs::remove_dir_all(). Má úsáidtear an fheidhm seo chun comhaid shealadacha a scriosadh in iarratas faoi phribhléid, is féidir le hionsaitheoir scriosadh comhaid chórais agus eolairí córais treallach a bhaint amach nach mbeadh rochtain ag an ionsaitheoir orthu de ghnáth a scriosadh.

Is é is cúis leis an leochaileacht ná cur i bhfeidhm mícheart na naisc siombalacha a sheiceáil sula ndéantar eolairí a scriosadh go hathchúrsach. In ionad nascanna simplí a chosc, seiceálann remove_dir_all() ar dtús an bhfuil an comhad ina nasc nasc. Má shainmhínítear nasc, scriostar é mar chomhad, agus más eolaire é, tugtar oibríocht bhaint ábhar athchúrsach. Is í an fhadhb atá ann go bhfuil moill bheag idir an seiceáil agus tús na hoibríochta scriosta.

Ag am nuair atá an seiceáil déanta cheana féin, ach nach bhfuil tús curtha le hoibriú eolairí áirimh lena scriosadh, is féidir leis an ionsaitheoir comhaid shealadacha a bhfuil nasc siombalach acu a chur in ionad an eolaire. Má bhuaileann sé ag an am ceart, déileálfaidh an fheidhm remove_dir_all() leis an nasc siombalach mar eolaire agus tosóidh sé ag baint an ábhair a bhfuil an nasc dírithe air. In ainneoin go mbraitheann rathúlacht an ionsaí ar chruinneas an ama roghnaithe chun an t-eolaire a athsholáthar agus bualadh leis an nóiméad ceart an chéad uair ní dócha, le linn na dturgnaimh bhí na taighdeoirí in ann ionsaí rathúil in-athdhéanta a bhaint amach tar éis an leas a bhaint as laistigh de. cúpla soicind.

Tá tionchar ag gach leagan de Rust ó 1.0.0 go 1.58.0 san áireamh. Tá an cheist réitithe i bhfoirm paiste le haghaidh anois (cuirfear an socrú san áireamh sa scaoileadh 1.58.1, a bhfuiltear ag súil leis laistigh de chúpla uair an chloig). Is féidir leat monatóireacht a dhéanamh ar dhíothú na leochaileachta i ndáiltí ar na leathanaigh seo: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch, FreeBSD. Moltar do gach úsáideoir clár Rust a ritheann le pribhléidí ardaithe agus a úsáideann an fheidhm remove_dir_all Rust a nuashonrú go práinneach go leagan 1.58.1. Tá sé suimiúil nach réitíonn an paiste a scaoiltear an fhadhb ar gach córas; mar shampla, i REDOX OS agus leaganacha de macOS roimh 10.10 (Yosemite), níl bac ar an leochaileacht mar gheall ar easpa an bhratach O_NOFOLLOW, a dhíchumasaíonn na siombailí seo a leanas. naisc.

Foinse: oscailtenet.ru

Add a comment