Алар RubyGems.org сайтында пакеттерди алмаштырууга мүмкүндүк берген аялуу жерди табышкан

Жакында эле жаңылык чыкты Критикалык алсыздык аныкталган пакет репозиторий rubygems.org (абал CVE-2022-29176 боюнча мурунтан эле каталогдолуп), ал Бул берет тиешелүү уруксаты жок, башка адамдардын пакеттерин алмаштыруу репозиторийде мыйзамдуу пакетти тартып алып, анын ордуна ошол эле аталыштагы жана версия номери менен башка файлды жүктөө аркылуу.

Деп айтылган аялуу "yank" аракет иштеткичиндеги ката менен шартталган, ал аталыштын дефис белгисине чейинки бөлүгүнө дал келген тышкы пакеттерди алып салууну баштоого мүмкүндүк берген платформанын аталышы катары аталыштын дефистен кийинки бөлүгүн карайт.

Атап айтканда, операциянын контролерунун кодунда "янк", чакыруу 'find_by!(толук_аты: "#{rubygem.name}-#{slug}")' пакеттерди издөө үчүн колдонулган, ал эми "слуг" параметри алып салуу версиясын аныктоо үчүн пакеттин ээсине берилген.

"Rails-html" пакетинин ээси "1.2.3" версиясынын ордуна "санитизатор-1.2.3" деп көрсөтсө болмок, бул операция "rails-html-sanitizer-1.2.3" үчүн колдонулушуна алып келет. пакет ″ башка бирөөдөн. »

Rubygems.org үчүн коопсуздук боюнча кеңеш кечээ жарыяланды.

Кеңеш зыяндуу колдонуучуга белгилүү бир асыл таштарды казып алууга жана бирдей аталыштагы, версия номери жана башка платформадагы ар кандай файлдарды жүктөөгө мүмкүндүк берген катага тиешелүү.

Келгиле, казып алуу процессинен өтүп жатканда эмне туура эмес болгонун көрүү үчүн тереңирээк карап көрөлү. Шылтоо катары, биз кеңири колдонулган "rails-html-sanitizer" асыл ташына уруксатсыз кирүү ниети менен "rails-html" деп аталган асыл таш жараткан сценарийди элестетип көрөлү.

Деп айтылган үч шарт аткарылышы керек, бул кемчиликти ийгиликтүү пайдалануу үчүн:

  • Чабуул атында дефис белгиси бар пакеттерде гана аткарылышы мүмкүн.
  • Чабуулчу аттын дефис белгисине чейинки бөлүгүн камтыган асыл таштар пакетин жайгаштырышы керек. Мисалы, чабуул "rails-html-sanitizer" пакетине каршы болсо, чабуулчу репозиторийге өзүнүн "rails-html" пакетин коюусу керек.
  • Кол салууга дуушар болгон топтом акыркы 30 күндө түзүлгөн же 100 күндө жаңыртылбаган болушу керек.

маселе коопсуздук боюнча изилдөөчү тарабынан аныкталган белгилүү ачык булак долбоорлорунда коопсуздук маселелерин табуу үчүн HackerOne сыйлык программасынын бир бөлүгү катары.

маселе 5-майда RubyGems.org сайтында бекитилген жана иштеп чыгуучулардын айтымында, эксплуатациялоонун изин али аныктай элек акыркы 18 айдагы журналдардагы аялуу. Ошол эле учурда, азырынча үстүртөн гана текшерүү жүргүзүлүп, келечекте дагы тереңдетилген текшерүү пландалууда.

Азыркы учурда биз бул алсыздык пайдаланылган жок деп эсептейбиз.

RubyGems.org асыл таштын версиясы чыгарылганда же өчүрүлгөндө бардык асыл таш ээлерине электрондук кат жөнөтөт. Биз асыл таш ээлеринен алардын асыл ташы уруксатсыз казылып алынганы тууралуу эч кандай колдоо катын алган жокпуз.

Акыркы 18 айдын ичинде асыл таштын өзгөрүшүнүн аудити бул кемчиликти зыяндуу колдонуунун мисалдарын тапкан жок. Бул эксплойттин мүмкүн болгон ар кандай колдонулушу боюнча кийинки текшерүү RubyGems тарыхында уруксатсыз асыл таштарды алуу үчүн колдонулганын тапкан жок. Бул эч качан болгон эмес деп кепилдик бере албайбыз, бирок бул мүмкүн эместей.

Долбоорлоруңузду текшерүү үчүн Gemfile.lock файлындагы операциялардын тарыхын талдоо сунушталат Зыяндуу аракеттер бир эле аталыштагы жана версиядагы өзгөрүүлөрдүн болушунда же платформаны өзгөртүүдө (мисалы, xxx-1.2.3 пакети болгондо) көрсөтүлөт. 1.2.3 xxx-XNUMX-xxx чейин жаңыртылды).

Чечим катары үзгүлтүксүз интеграция тутумдарында же долбоорлорду жарыялоодо жашыруун пакеттерди жасалмалоого каршы, Иштеп чыгуучуларга Bundler колдонуу сунушталат "-тоңдурулган" же "-жайгаштыруу" опциялары менен көз карандылыкты ырастоо үчүн.

акыр-аягы, ал жөнүндө көбүрөөк билүүгө кызыкдар болсо, сиз маалыматты текшере аласыз төмөнкү шилтеме.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт.

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.