Lorg iad so-leòntachd ann an RubyGems.org a leig leotha pacaidean a chuir nan àite

O chionn ghoirid bhris an naidheachd sin Chaidh so-leòntachd èiginneach a chomharrachadh ann an an stòr pacaid rubygems.org (tha an so-leòntachd mu thràth air a chlàradh fo CVE-2022-29176), a tha ceadachadh gun chead ceart, cuir pacaidean dhaoine eile an àite anns an stòr le bhith a’ cuir a-steach pasgan dligheach agus a’ luchdachadh suas faidhle eile leis an aon ainm agus àireamh tionndaidh na àite.

Tha e air ainmeachadh sin tha an so-leòntachd mar thoradh air bug anns an inneal-làimhseachaidh gnìomh “yank”., a bhios a’ làimhseachadh a’ phàirt den ainm às deidh an tàthan mar ainm an àrd-ùrlair, a thug air tòiseachadh toirt air falbh pasganan taobh a-muigh a tha a’ freagairt ris a’ phàirt den ainm suas ris a’ charactar tàthan.

Gu sònraichte ann an còd rianadair na h-obrach "Yank", a 'ghairm 'find_by!(full_name: "#{rubygem.name} -#{slug})' chaidh a chleachdadh gus pacaidean a lorg, agus chaidh am paramadair “slug” a chuir gu sealbhadair a’ phacaid gus faighinn a-mach dè an dreach a bu chòir a thoirt air falbh.

Dh’ fhaodadh sealbhadair a’ phacaid “rails-html” a bhith air “sanitizer-1.2.3” a shònrachadh an àite an tionndaidh “1.2.3”, a bheireadh air an obrachadh a bhith a’ buntainn ris an “rails-html-sanitizer-1.2.3” pasgan ″ bho chuideigin eile. »

Chaidh comhairleachadh tèarainteachd airson Rubygems.org fhoillseachadh an-dè.

Bha an comhairliche co-cheangailte ri bug a leig le neach-cleachdaidh droch-rùnach seudan sònraichte a mhèinneadh agus diofar fhaidhlichean a luchdachadh suas leis an aon ainm, àireamh tionndaidh, agus àrd-ùrlar eadar-dhealaichte.

Bheir sinn sùil nas doimhne gus faicinn dè chaidh ceàrr fhad ‘s a bha sinn a’ dol tron ​​​​phròiseas às-tharraing. Mar chùis-lagha, smaoinichidh sinn air suidheachadh far am bi sinn a’ cruthachadh seud ris an canar “rails-html” leis an rùn cothrom fhaighinn gun chead air an t-seud “rails-html-sanitizer” a thathas a’ cleachdadh fad is farsaing.

Tha e air ainmeachadh sin feumar trì cumhaichean a choileanadh, gus brath a ghabhail gu soirbheachail air an so-leòntachd seo:

  • Chan urrainnear an ionnsaigh a dhèanamh ach air pacaidean aig a bheil caractar tàthan nan ainm.
  • Bu chòir gum biodh e comasach do neach-ionnsaigh pasgan geam le pàirt den ainm suas ris a’ charactar tàthan. Mar eisimpleir, ma tha an ionnsaigh an-aghaidh a’ phacaid “rails-html-sanitizer”, feumaidh an neach-ionnsaigh am pasgan “rails-html” aca fhèin a chuir anns an ionad-tasgaidh.
  • Feumaidh gun deach am pasgan ionnsaigh a chruthachadh anns na 30 latha a dh’ fhalbh no gun a bhith air ùrachadh airson 100 latha.

An duilgheadas air a chomharrachadh le neach-rannsachaidh tèarainteachd mar phàirt de phrògram bounty HackerOne gus cùisean tèarainteachd a lorg ann am pròiseactan stòr fosgailte aithnichte.

An duilgheadas stèidhichte aig RubyGems.org air 5 Cèitean agus a rèir an luchd-leasachaidh, chan eil iad air comharran brathaidh aithneachadh fhathast den so-leòntachd anns na logaichean airson nan 18 mìosan a dh’ fhalbh. Aig an aon àm, cha deach ach sgrùdadh uachdarach a dhèanamh gu ruige seo, agus tha sgrùdadh nas doimhne san amharc san àm ri teachd.

Aig an àm seo, tha sinn den bheachd nach deach brath a ghabhail air an so-leòntachd seo.

Bidh RubyGems.org a’ cur post-d chun a h-uile neach-seilbh seud nuair a thèid dreach gem a leigeil ma sgaoil no a thoirt air falbh. Chan eil sinn air post-d taic sam bith fhaighinn bho luchd-seilbh seudan a’ nochdadh gun deach an t-seud aca a mhèinneadh gun chead.

Cha do lorg sgrùdadh air atharrachaidhean gem thairis air na 18 mìosan a dh’ fhalbh eisimpleirean sam bith de chleachdadh droch-rùnach den so-leòntachd seo. Cha do lorg sgrùdadh a bharrachd airson cleachdadh sam bith a dh’ fhaodadh a bhith air a dhèanamh den bhuannachd seo a bhith a’ cleachdadh a’ bhuannachd seo gus seud a ghabhail thairis gun chead ann an eachdraidh RubyGems. Chan urrainn dhuinn gealltainn nach do thachair e a-riamh, ach chan eil coltas ann.

Gus dearbhadh a dhèanamh air na pròiseactan agad, thathas a ’moladh eachdraidh gnìomhachd a sgrùdadh anns an fhaidhle Gemfile.lock Tha gnìomhachd droch-rùnach air a chuir an cèill ann an làthaireachd atharrachaidhean leis an aon ainm agus dreach, no atharrachadh àrd-ùrlar (mar eisimpleir, nuair a bhios pasgan xxx-1.2.3 ann). .1.2.3 air ùrachadh gu xxx-XNUMX-xxx).

Mar fhuasgladh an aghaidh spoofing de phasganan falaichte ann an siostaman amalachaidh leantainneach no nuair a thathar a’ foillseachadh phròiseactan, Thathas a’ moladh do luchd-leasachaidh Bundler a chleachdadh leis na roghainnean “–frozen” no “–deployment” gus eisimeileachd a dhearbhadh.

Mu dheireadh, ma tha ùidh agad barrachd fhaighinn a-mach mu dheidhinn, faodaidh tu sgrùdadh a dhèanamh air mion-fhiosrachadh anns an ceangal a leanas.


Tha susbaint an artaigil a ’cumail ri na prionnsapalan againn de moraltachd deasachaidh. Gus aithris a dhèanamh air mearachd cliog an seo.

Bi a 'chiad fhear a thog beachd

Fàg do bheachd

Seòladh-d cha tèid fhoillseachadh.

*

*

  1. Uallach airson an dàta: Miguel Ángel Gatón
  2. Adhbhar an dàta: Smachd air SPAM, riaghladh bheachdan.
  3. Dìleab: Do chead
  4. Conaltradh an dàta: Cha tèid an dàta a thoirt do threas phàrtaidhean ach a-mhàin fo dhleastanas laghail.
  5. Stòradh dàta: Stòr-dàta air a chumail le Occentus Networks (EU)
  6. Còraichean: Aig àm sam bith faodaidh tu am fiosrachadh agad a chuingealachadh, fhaighinn air ais agus a dhubhadh às.