Te whakaraeraetanga i RubyGems.org e taea ai te tinihanga i nga kete a etahi atu

He whakaraeraetanga tino nui (CVE-2022-29176) kua kitea i roto i te putunga putunga a RubyGems.org, e taea ai, me te kore mana tika, ki te whakakapi i nga kete a etahi atu tangata i roto i te putunga ma te timata i te tango i tetahi kete tika me te uta ki tona waahi. tetahi atu kōnae he rite te ingoa me te tau putanga.

Kia angitu te whakamahi i te whakaraeraetanga, me tutuki nga tikanga e toru:

  • Ka taea anake te whakaeke i runga i nga paatete he tohuhono to ratou ingoa.
  • Me taea e te kaitukino te whakatakoto i tetahi kete kohatu me tetahi waahanga o te ingoa i mua i te tohu tohuhono. Hei tauira, mena ko te whakaekenga kei runga i te kete "rails-html-sanitizer", me tuu e te kaitukino tana ake kete "rails-html" ki roto i te putunga.
  • Ko te kete e whakaekehia ana me hanga i roto i nga ra 30 kua hipa, kaore ranei i whakahoutia mo nga ra 100.

Ko te whakaraeraetanga na te hapa i roto i te kaihautu mahi "yank", e whakamaori ana i te waahanga o te ingoa i muri i te tohuhono hei ingoa o te papa, i taea ai te whakakore i nga kete kee e rite ana ki te waahanga o te ingoa. i mua i te tohuhono. Ina koa, i roto i te waehere kaihautu "yank", i whakamahia te waea 'find_by!(full_name: "#{rubygem.name}-#{slug}")" ki te kimi i nga kete, i te wa i tukuna te tawhā "slug" e te rangatira mōkihi ki te whakatau i te putanga ki te tangohia. Ka taea e te rangatira o te kete "rails-html" te tohu "sanitizer-1.2.3" hei utu mo te putanga "1.2.3", ka tukuna te mahi ki te kete a tetahi atu "rails-html-sanitizer-1.2.3 ".

I tautuhia te take e tetahi kairangahau haumarutanga hei waahanga o te kaupapa koha a HackerOne mo te kimi take haumarutanga i roto i nga kaupapa tuwhera-puna rongonui. I whakatikahia te raruraru i RubyGems.org i te 5 o Haratua, a, e ai ki nga kaihanga, kaore ano kia kitea he tohu o te whakaraeraetanga o te whakaraerae i roto i nga rakau i roto i nga marama 18 kua hipa. I te wa ano, ko te arotake papapapa noa i mahia i tenei wa, ka whakamaherehia he arotake hohonu atu a muri ake nei.

Hei tirotiro i o kaupapa, e taunaki ana kia tātarihia te hitori o nga mahi i roto i te konae Gemfile.lock; ka whakaatuhia nga mahi kino i te aroaro o nga huringa me te pupuri i te ingoa me te putanga, te whakarereketanga ranei o te papanga (hei tauira, i te wa ko te ingoa kohatu. -1.2.3 mōkihi kua whakahoutia ki gemname-1.2.3-java). Hei mahi hei whakamarumaru i te whakakapinga mokihi huna i roto i nga punaha whakauru tonu, i te wa e whakaputa kaupapa ana, ka tūtohuhia nga kaihanga ki te whakamahi i te Bundler me nga whiringa "-frozen" ranei "-deployment" hei whakatika i nga whakawhirinakitanga.

Source: opennet.ru

Tāpiri i te kōrero