Олар RubyGems.org сайтында пакеттерді ауыстыруға мүмкіндік беретін осалдықты анықтады

Жақында бұл жаңалық тарады ішінде маңызды осалдық анықталды пакет репозиторийі rubygems.org (осалдық CVE-2022-29176 бойынша каталогталған), ол мүмкіндік береді тиісті рұқсатсыз, басқа адамдардың пакеттерін ауыстырыңыз репозиторийде заңды буманы жұлып алып, оның орнына аты мен нұсқа нөмірі бірдей басқа файлды жүктеп салу арқылы.

Бұл туралы айтылды осалдық «yank» әрекет өңдеушісіндегі қатеге байланысты, ол сызықшадан кейінгі атау бөлігін платформа атауы ретінде қарастырады, бұл атау бөлігін дефис таңбасына дейін сәйкестендіретін сыртқы бумаларды жоюды бастауға мүмкіндік берді.

Атап айтқанда операцияның контроллер кодында «янк», қоңырау 'find_by! (толық_аты: "#{rubygem.name}-#{slug}")' бумаларды іздеу үшін пайдаланылды, ал "слаг" параметрі жойылатын нұсқаны анықтау үшін бума иесіне жіберілді.

"Rails-html" пакетінің иесі операцияның "rails-html-sanitizer-1.2.3" нұсқасына қолданылуын тудыратын "1.2.3" нұсқасының орнына "санитизатор-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. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.