So-leòntachd ann an RubyGems.org a leigeas le pacaidean dhaoine eile spoofing

Chaidh so-leòntachd èiginneach (CVE-2022-29176) a chomharrachadh ann an stòr pacaid RubyGems.org, a leigeas, às aonais ùghdarras ceart, pasganan cuid de dhaoine eile a chuir an àite an stòr le bhith a’ tòiseachadh yank de phasgan dligheach agus gan luchdachadh na àite faidhle eile leis an aon ainm agus àireamh tionndaidh.

Gus brath a ghabhail air so-leòntachd gu soirbheachail, feumar trì cumhaichean a choileanadh:

  • Chan urrainnear an ionnsaigh a dhèanamh ach air pacaidean aig a bheil tàthan nan ainm.
  • Feumaidh neach-ionnsaigh a bhith comasach air pasgan geam le pàirt den ainm a chuir ron charactar tàthan. Mar eisimpleir, ma tha an ionnsaigh air a’ phacaid “rails-html-sanitizer”, feumaidh an neach-ionnsaigh am pasgan “rails-html” aige fhèin a chuir anns an ionad-tasgaidh.
  • Feumaidh gun deach am pasgan air a bheilear a’ toirt ionnsaigh a chruthachadh taobh a-staigh nan 30 latha mu dheireadh no gun a bhith air ùrachadh airson 100 latha.

Tha an so-leòntachd air adhbhrachadh le mearachd anns an inneal-làimhseachaidh gnìomh “yank”, a mhìnicheas am pàirt den ainm às deidh an tàthan mar ainm an àrd-ùrlar, a rinn e comasach cuir às do phasganan cèin a tha a rèir na pàirt den ainm roimh an tàthan. Gu sònraichte, anns a' chòd làimhseachaidh "yank", chaidh a' ghairm 'find_by! (full_name: "#{rubygem.name} -#{slug}")" a chleachdadh gus pacaidean a lorg, fhad 's a chaidh am paramadair "slug" seachad air an sealbhadair pacaid gus an dreach a tha ri thoirt air falbh a dhearbhadh. Dh’ fhaodadh sealbhadair a’ phacaid “rails-html” “sanitizer-1.2.3” a shònrachadh an àite an tionndaidh “1.2.3”, a dh’ adhbharaicheas an obrachadh a chuir an sàs ann am pasgan cuideigin eile “rails-html-sanitizer-1.2.3 ".

Chaidh a’ chùis a chomharrachadh le neach-rannsachaidh tèarainteachd mar phàirt de phrògram bounty HackerOne airson cùisean tèarainteachd a lorg ann am pròiseactan stòr fosgailte aithnichte. Chaidh an duilgheadas a rèiteachadh ann an RubyGems.org air 5 Cèitean agus a rèir an luchd-leasachaidh, chan eil iad fhathast air comharran sam bith a chomharrachadh mu bhith a ’gabhail brath air so-leòntachd anns na logaichean thairis air na 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.

Gus sgrùdadh a dhèanamh air na pròiseactan agad, thathas a’ moladh sgrùdadh a dhèanamh air eachdraidh gnìomhachd anns an fhaidhle Gemfile.lock; tha gnìomhachd droch-rùnach air a chuir an cèill ann an làthaireachd atharrachaidhean le gleidheadh ​​​​ainm agus dreach no atharrachadh àrd-ùrlar (mar eisimpleir, nuair a tha an gemname -1.2.3 pasgan air ùrachadh gu gemname-1.2.3-java). Mar dhòigh-obrach gus dìon an aghaidh ionadachadh pacaid falaichte ann an siostaman amalachaidh leantainneach no nuair a bhios iad a’ foillseachadh phròiseactan, thathas a’ moladh do luchd-leasachaidh Bundler a chleachdadh leis na roghainnean “-frozen” no “-deployment” gus eisimeileachd a chàradh.

Source: fosgailtenet.ru

Cuir beachd ann