RubyGems.org-en ahultasuna besteen paketeen faltsutzea ahalbidetzen duena

RubyGems.org paketeen biltegian ahultasun kritiko bat (CVE-2022-29176) identifikatu da, eta horri esker, autoritate egokirik gabe, beste pertsona batzuen paketeak biltegian ordezkatzeko aukera dago, zilegizko pakete baten astindu bat hasiz eta bere lekuan kargatuz. izen eta bertsio-zenbaki bereko beste fitxategi bat.

Ahultasuna arrakastaz ustiatzeko, hiru baldintza bete behar dira:

  • Erasoa izenean marratxoa duten paketeetan bakarrik egin daiteke.
  • Erasotzaileak gai izan behar du marratxoaren karakterearen aurretik izenaren zati bat duen bitxi pakete bat jartzeko. Adibidez, erasoa "rails-html-sanitizer" paketean badago, erasotzaileak bere "rails-html" paketea jarri behar du biltegian.
  • Erasotzen ari den paketea azken 30 egunetan sortua izan behar da edo 100 egunetan eguneratu gabe.

Ahultasuna "yank" ekintza-kudeatzailearen errore batek eragiten du, marratxoaren ondoko izenaren zatia plataformaren izen gisa interpretatzen baitu, eta horri esker, izenaren zatiarekin bat datozen atzerriko paketeen ezabaketa abiaraztea posible da. marratxoaren aurretik. Bereziki, "yank" kudeatzailearen kodean, 'find_by!(full_name: "#{rubygem.name}-#{slug}")" deia erabili zen paketeak aurkitzeko, "slug" parametroa pasatzen zen bitartean. paketearen jabea kendu beharreko bertsioa zehazteko. "rails-html" paketearen jabeak "sanitizer-1.2.3" zehaztu dezake "1.2.3" bertsioaren ordez, eta horrek eragiketa beste norbaiten "rails-html-sanitizer-1.2.3" paketeari aplikatuko lioke. ".

Arazoa Segurtasun ikertzaile batek identifikatu zuen HackerOne-ren sari programaren barruan kode irekiko proiektu ezagunetan segurtasun arazoak aurkitzeko. Arazoa RubyGems.org-en konpondu zen maiatzaren 5ean eta garatzaileen arabera, oraindik ez dute ahultasunaren ustiapenaren arrastorik identifikatu erregistroetan azken 18 hilabeteetan. Aldi berean, orain arte azaleko ikuskaritza baino ez da egin eta etorkizunean ikuskaritza sakonago bat aurreikusi da.

Zure proiektuak egiaztatzeko, Gemfile.lock fitxategiko eragiketen historia aztertzea gomendatzen da; jarduera gaiztoa izena eta bertsioa gordetzearekin edo plataformaren aldaketarekin gertatzen diren aldaketak agertzen dira (adibidez, gemnamea denean. -1.2.3 paketea gemname-1.2.3-java eguneratu da). Etengabeko integrazio sistemetan edo proiektuak argitaratzerakoan ezkutuko paketeen ordezkapenetik babesteko konponbide gisa, garatzaileei Bundler erabiltzea gomendatzen zaie "-frozen" edo "-deployment" aukerekin menpekotasunak konpontzeko.

Iturria: opennet.ru

Gehitu iruzkin berria