В RubyGems выявлена удаленно эксплуатируемая уязвимость
В Rubygems, системе управления пакетами для приложений на языке Ruby, выявлена критическая уязвимость (CVE-2017-0903), позволяющая инициировать удаленное выполнение кода на сервере RubyGems.org при обработке специально оформленного gem-пакета. Проблема устранена в выпуске RubyGems 2.6.14.
Уязвимость вызвана ошибкой в коде десериализации объектов при разборе контрольных сумм для компонентов пакета. Контрольные суммы хранятся в формате YAML и до устранения уязвимости загружались при помощи вызова YAML.load, который автоматически обрабатывает сериализированные объекты на языке Ruby. Злоумышленник может подготовить файл с контрольной суммой, содержащий сериализированные объекты в блоке YALM, что приведет к выполнению заданного атакующем Ruby-кода при обработке пакета, в том числе на серверах инфраструктуры RubyGems.org. Разработчики проанализировали все пакеты в RubyGems и не нашли попыток эксплуатации данной уязвимости в момент до выпуска обновления с устранением проблемы.