Vulnerabilitéit an RubyGems.org déi Spoofing vun anere Leit hir Packagen erlaabt

Eng kritesch Schwachstelle (CVE-2022-29176) gouf am RubyGems.org Package Repository identifizéiert, wat et erlaabt, ouni adäquate Autoritéit, e puer aner Leit hir Packagen am Repository z'ersetzen andeems en e Yank vun engem legitime Package initiéiert an op seng Plaz gelueden gëtt. eng aner Datei mam selwechten Numm a Versiounsnummer.

Fir d'Schwachheet erfollegräich auszenotzen, mussen dräi Konditioune erfëllt sinn:

  • D'Attack kann nëmmen op Päck duerchgefouert ginn, déi e Bindestrich an hirem Numm hunn.
  • En Ugräifer muss fäeg sinn e Gem Package mat engem Deel vum Numm virum Bindestrich Charakter ze placéieren. Zum Beispill, wann den Attack op de "rails-html-sanitizer" Package ass, muss den Ugräifer säin eegene "rails-html" Package am Repository placéieren.
  • De Pak, deen attackéiert gëtt, muss an de leschten 30 Deeg erstallt ginn oder fir 100 Deeg net aktualiséiert ginn.

D'Schwachstelle gëtt duerch e Feeler am "yank" Handlungshandler verursaacht, deen den Deel vum Numm nom Bindestrich als den Numm vun der Plattform interpretéiert, wat et méiglech gemaach huet d'Läsche vun auslännesche Paketen ze initiéieren déi dem Deel vum Numm passen. virum Bindestrich. Besonnesch am "yank" Handlercode gouf den 'find_by!(full_name: "#{rubygem.name}-#{slug}")" Uruff benotzt fir Packagen ze fannen, während de "Slug" Parameter vun der Package Besëtzer fir d'Versioun ze bestëmmen déi geläscht gëtt. De Besëtzer vum Package "rails-html" kéint "sanitizer-1.2.3" anstatt Versioun "1.2.3" spezifizéieren, wat d'Operatioun verursaache géif op engem anere säi Package "rails-html-sanitizer-1.2.3" applizéiert ze ginn ".

D'Thema gouf vun engem Sécherheetsfuerscher als Deel vum HackerOne säi Bounty Programm identifizéiert fir Sécherheetsprobleemer a bekannten Open-Source Projeten ze fannen. De Problem gouf am RubyGems.org am Mee 5 fixéiert an no den Entwéckler hunn se nach keng Spuere vun der Ausbeutung vun der Schwachstelle an de Logbicher an de leschten 18 Méint identifizéiert. Zur selwechter Zäit gouf bis elo nëmmen en iwwerflächlechen Audit duerchgefouert an e méi déifgräifend Audit ass an Zukunft geplangt.

Fir Är Projeten z'iwwerpréiwen, ass et recommandéiert d'Geschicht vun den Operatiounen an der Gemfile.lock Datei ze analyséieren; béiswëlleg Aktivitéit gëtt ausgedréckt an der Präsenz vun Ännerungen mat der Erhaalung vum Numm an der Versioun oder enger Verännerung vun der Plattform (zum Beispill wann de Gemnumm -1.2.3 Package gëtt op gemname-1.2.3-java aktualiséiert). Als Léisung fir géint verstoppte Paketauswiesselung a kontinuéierlechen Integratiounssystemer oder beim Verëffentlechen vu Projeten ze schützen, ginn d'Entwéckler recommandéiert Bundler mat den "-frozen" oder "-deployment" Optiounen ze benotzen fir Ofhängegkeeten ze fixéieren.

Source: opennet.ru

Setzt e Commentaire