Udhaifu katika RubyGems.org ambayo inaruhusu udukuzi wa vifurushi vya watu wengine

Udhaifu mkubwa (CVE-2022-29176) umetambuliwa katika hazina ya kifurushi cha RubyGems.org, ambayo inaruhusu, bila mamlaka sahihi, kuchukua nafasi ya vifurushi vya watu wengine kwenye hazina kwa kuanzisha mkondo wa kifurushi halali na upakiaji mahali pake. faili nyingine iliyo na jina sawa na nambari ya toleo.

Ili kutumia vyema athari, masharti matatu lazima yatimizwe:

  • Shambulio hilo linaweza kufanywa tu kwenye pakiti ambazo zina hyphen kwa jina lao.
  • Mshambulizi lazima aweze kuweka kifurushi cha vito chenye sehemu ya jina kabla ya herufi ya kistari. Kwa mfano, ikiwa shambulio liko kwenye kifurushi cha "rails-html-sanitizer", mshambuliaji lazima aweke kifurushi chake cha "reli-html" kwenye hazina.
  • Kifurushi kinachoshambuliwa lazima kiwe kimeundwa ndani ya siku 30 zilizopita au hakijasasishwa kwa siku 100.

Athari hii inasababishwa na hitilafu katika kidhibiti kitendo cha "yank", ambacho hutafsiri sehemu ya jina baada ya kistari kama jina la mfumo, ambayo iliwezesha kuanzisha ufutaji wa vifurushi vya kigeni vinavyolingana na sehemu ya jina. kabla ya kistari. Hasa, katika msimbo wa kidhibiti cha "yank", simu ya 'find_by!(full_name: "#{rubygem.name}-#{slug}") ilitumiwa kupata vifurushi, huku kigezo cha "slug" kilipitishwa na mmiliki wa kifurushi kubainisha toleo la kuondolewa. Mmiliki wa kifurushi cha "rails-html" anaweza kubainisha "sanitizer-1.2.3" badala ya toleo "1.2.3", ambayo ingesababisha utendakazi kutumika kwa kifurushi cha mtu mwingine "rails-html-sanitizer-1.2.3" ".

Suala hili lilitambuliwa na mtafiti wa usalama kama sehemu ya mpango wa fadhila wa HackerOne wa kutafuta masuala ya usalama katika miradi inayojulikana ya chanzo huria. Tatizo lilirekebishwa katika RubyGems.org mnamo Mei 5 na kulingana na wasanidi programu, bado hawajabaini athari zozote za unyonyaji katika kumbukumbu katika kipindi cha miezi 18 iliyopita. Wakati huo huo, ukaguzi wa juu juu tu umefanywa hadi sasa na ukaguzi wa kina zaidi unapangwa katika siku zijazo.

Ili kuangalia miradi yako, inashauriwa kuchanganua historia ya utendakazi katika faili ya Gemfile.lock; shughuli hasidi inaonyeshwa kwa uwepo wa mabadiliko na uhifadhi wa jina na toleo au mabadiliko ya jukwaa (kwa mfano, wakati vito -1.2.3 kifurushi kimesasishwa hadi gemname-1.2.3-java). Kama njia ya kutatua ili kulinda dhidi ya uingizwaji wa kifurushi uliofichwa katika mifumo ya ujumuishaji endelevu au wakati wa kuchapisha miradi, wasanidi wanapendekezwa kutumia Bundler na chaguo za "-zilizogandishwa" au "-deployment" ili kurekebisha vitegemezi.

Chanzo: opennet.ru

Kuongeza maoni