The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В RubyGems выявлена удалённо эксплуатируемая уязвимость

11.10.2017 22:12

В Rubygems, системе управления пакетами для приложений на языке Ruby, выявлена критическая уязвимость (CVE-2017-0903), позволяющая инициировать удалённое выполнение кода на сервере RubyGems.org при загрузке специально оформленного gem-пакета или на системе пользователя при установке gem-пакета. Проблема устранена в выпуске RubyGems 2.6.14.

Уязвимость вызвана ошибкой в коде разбора контрольных сумм для компонентов пакета и связана с возможностью десериализации объектов. Контрольные суммы хранятся в формате YAML и до устранения уязвимости загружались при помощи вызова YAML.load, который автоматически обрабатывает сериализированные объекты на языке Ruby. Злоумышленник может подготовить файл с контрольными суммами, содержащий сериализированные объекты в блоке YAML, что приведёт к выполнению заданного атакующим Ruby-кода при обработке пакета, в том числе на серверах инфраструктуры RubyGems.org. Разработчики проанализировали все пакеты в RubyGems и не нашли следов эксплуатации данной уязвимости в момент выпуска обновления с устранением проблемы.

  1. Главная ссылка к новости (http://blog.rubygems.org/2017/...)
  2. OpenNews: Несколько уязвимостей в RubyGems
  3. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  4. OpenNews: В RubyGems устранена уязвимость, позволявшая подменять файлы в репозитории
  5. OpenNews: Rubygems.org подвергся взлому
  6. OpenNews: Более половины npm-пакетов могли быть скомпрометированы из-за ненадёжных паролей доступа
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/47370-rubygems
Ключевые слова: rubygems
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:27, 11/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    > Разработчики проанализировали все пакеты в RubyGems и не нашли попыток эксплуатации данной уязвимости в момент до выпуска обновления с устранением проблемы.

    То. что кто-то прочистил им дымоход и опосля подменил свой собственный пакет на чистый, благо RCE есть, им даже в голову не пришло.

     
  • 1.2, anomymous (?), 23:55, 11/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Именно поэтому на*** все PECL'ы, PEAR'ы, NPM'ы, RUBYGEM'ы и прочие места, из которого легко схватить дерьмище в любой проект, вообще об этом не подозревая. Только авторские релизы с гитов, там хотя бы все коммиты трэкаются железно.
     
     
  • 2.3, лютый жабист__ (?), 05:38, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >бы все коммиты трэкаются железно.

    Уж прямо железно?

    Лучше взять анси си и написать всё, что надо с нуля.

     
     
  • 3.9, Аноним (-), 15:15, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Уж прямо железно?

    Достаточно неплохо, хотя SHA1 по современным меркам слабоват. Еще подписи есть, чтобы наверняка. А у этих npm-ов с pip-ами и чем там еще - нет и десятой части мер безопасности которые должны в такой штуке быть, чтобы систему не вскрывал через это дерьмище любой скрипткидиз. Десереализовать ремотный код - все для удобства кидизов.

    > Лучше взять анси си и написать всё, что надо с нуля.

    Нормальные пакетные менеджеры нормальные програмеры так и пишут. Это даже до фрибсд доползло. И там по крайней мере нет глупых детских ошибок. А переполнение буфера - это прекрасно, но у таких как ты вообще мозгов не хватит его эксплуатировать в современных системах с noexecstack и прочими ASLR-ами.

     
  • 2.4, . (?), 08:15, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    git commit -amend && git push --force
    Железно, ага!
     
     
  • 3.16, M i M (?), 23:37, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего что при этом создаётся новый коммит с другим хэшем?
     
  • 2.5, Аноним (-), 11:46, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Репозитории - это плохо. Надо скачивать бесплатно без смс не только jquery.min.js, но и скачивать бесплатно без смс gedit, скачивать бесплатно без смс libpng и так далее. Устанавливать строго установщиком, bash libpng-installer.run.

    А репозитории не нужны.

     
     
  • 3.6, пох (?), 12:48, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    дедушка, откуда ты вылез, марш обратно в свой колумбарий!
    bash ему, еще может - язык индейцев доколумбовой америки?

    У нас считается стильно, модно и молодежно динамически загружать код с rawgit! А то ж можно ненароком использовать несвежий код, в который уже два часа не вносили правок непойми кто и зачем!

    > А репозитории не нужны.

    хм, нет, есть у олдовых людей и своя правда. Репозитории, безусловно, не нужны. Современный код должен на ходу собирать себя сам, стягивая запчасти из миллиона неконтролируемых источников - так победим!

     
     
  • 4.8, Аноним (-), 14:47, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > модно и молодежно динамически загружать код с rawgit!

    Это и есть альтернатива от борцунов с npm/gems.

    > стягивая запчасти из миллиона неконтролируемых источников - так победим!

    А, я понял. Нужен gimp-with-gtk-with-gdm-with-libpng.msi. Тогда не будет никих "запчастей из миллионов".

    # dnf repoquery --requires gimp | wc -l
    Last metadata expiration check: 0:01:07 ago on Thu 12 Oct 2017 02:45:17 PM MSK.
    81

     
  • 2.7, Аноним (-), 14:21, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Небольшая ремарка: PECL в этом списке лишний, туда просто так расширение не добавить: https://pecl.php.net/account-request.php
     
  • 2.11, Аноним (-), 18:25, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> Только авторские релизы с гитов,

    как будто в гите и гитхабе нельзя просверлить дырочку....

     
  • 2.12, Аноним (-), 18:27, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Именно поэтому на*** все PECL'ы, PEAR'ы, NPM'ы, RUBYGEM'ы и прочие места, из
    > которого легко схватить дерьмище в любой проект, вообще об этом не
    > подозревая. Только авторские релизы с гитов, там хотя бы все коммиты
    > трэкаются железно.

    gem install gemname -P HighSecurity: All dependent gems must be signed and verified.

    http://guides.rubygems.org/security/
    http://docs.seattlerb.org/rubygems/Gem/Security.html

     

  • 1.10, Аноним (-), 17:56, 12/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Опять в обработке YAML дыра? Выбросьте этот код уже, либо перейдите на другие структуры для хранения данных.
     
     
  • 2.15, kewlhaxzor (?), 23:12, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Выбросьте этот код уже, либо перейдите на другие структуры для хранения данных.

    да, давайте что-нибудь новое, а то этот уже надоело ломать.
    (только не xml, он еще в прошлом веке всем обрыдл)


     

  • 1.13, ваноним (?), 19:58, 12/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  Разработчики проанализировали все пакеты в RubyGems и не нашли попыток эксплуатации данной уязвимости в момент до выпуска обновления с устранением проблемы.

    The RubyGems team audited all Gems, and using the data available to us we can say we have high confidence that no recently published Gems have been impacted, but due to the amount of time this bug has been in production, we cannot say for sure that zero Gems have been impacted.

     
     
  • 2.14, Аноним (-), 20:09, 12/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А у них подписи были? Или вместо них толпа ехидно хихикающих MITMов, давно поимевших всех скрипткидисов в солнечной системе?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру