Исследователи из команды Unit 42 компании Palo Alto Networks обнаружили новый вектор атаки, который может скомпрометировать репозитории GitHub. Уязвимость, использующая артефакты GitHub Actions, создаваемые в ходе рабочих процессов CI/CD, потенциально может предоставить высокоуровневый доступ к облачным средам.
Исследователи обнаружили, что сочетание неправильных конфигураций и недостатков безопасности может привести к утечке токенов артефактов, в том числе для сторонних облачных сервисов и самого GitHub. Эти токены становятся доступны любому, кто имеет доступ к репозиторию на чтение, что позволяет злоумышленникам скомпрометировать сервисы, к которым эти секреты предоставляют доступ.
В большинстве обнаруженных уязвимых проектов наиболее распространенной утечкой были токены GitHub. Это может позволить злоумышленнику совершить действия против инициирующего репозитория GitHub, потенциально запустив вредоносный код, который может попасть в производство через конвейер CI/CD, или получить доступ к секретам, хранящимся в репозитории GitHub и организации.
Хотя исследование применимо как к частным, так и к публичным репозиториям GitHub, команда сосредоточилась на обнаружении уязвимых публичных репозиториев. Они выявили известные проекты с открытым исходным кодом, принадлежащие крупнейшим мировым компаниям, которые могли потенциально повлиять на миллионы потребителей до принятия мер по их устранению.
Обо всех обнаруженных случаях было сообщено сопровождающим этих проектов, и исследователи получили отличную поддержку от всех команд. В результате совместной работы все обнаруженные проблемы были быстро и эффективно устранены.
Исследователи изучили артефакты рабочего процесса - функцию в GitHub Actions, которая позволяет сохранять и обмениваться данными между заданиями в рамках одного рабочего процесса. Эти артефакты могут включать любые файлы, созданные в процессе сборки, такие как скомпилированный код, отчеты о тестировании или пакеты развертывания.
Команда составила список популярных проектов с открытым исходным кодом на GitHub и автоматизировала процесс загрузки их артефактов и сканирования их на наличие секретов. Их догадка оказалась верной: они нашли рабочие токены для различных облачных сервисов, включая потоковую передачу музыки и облачную инфраструктуру.
Что еще более интересно, они обнаружили различные токены GitHub. Постоянно появлялись два типа токенов: GITHUB_TOKEN (с префиксом ghs_) и ACTIONS_RUNTIME_TOKEN (JWT-токен).
Исследователи обнаружили, что эти токены не являются частью кода репозитория, а встречаются только в артефактах, созданных репозиторием. Они обнаружили, что широко используемое действие actions/checkout GitHub по умолчанию сохраняет учетные данные, записывая GITHUB_TOKEN в локальный каталог git.
Многие пользователи неосознанно загружают в качестве артефакта весь свой каталог checkout, включая скрытую папку .git, содержащую сохраненный GITHUB_TOKEN. Это приводит к появлению общедоступных артефактов, содержащих GITHUB_TOKEN.
Еще одна проблема возникла при использовании super-linter, популярного линкера кода с открытым исходным кодом. Когда его свойство CREATE_LOG_FILE установлено в 'True', он создает лог-файл, включающий переменные окружения, что может привести к раскрытию конфиденциальных токенов.
Исследователи разработали метод злоупотребления утечкой токенов GitHub, в частности ACTIONS_RUNTIME_TOKEN, срок действия которого составляет около шести часов. Они автоматизировали процесс загрузки артефакта, извлекали токен и использовали его для замены артефакта на вредоносный.
Анонсированная GitHub четвертая версия функции артефактов позволяет загружать артефакты во время выполнения рабочего процесса. Это создавало потенциальное условие гонки, позволяя загрузить, извлечь и использовать утечку GITHUB_TOKEN до того, как работа завершится и срок действия токена истечет.

Исследователи успешно использовали эту уязвимость в нескольких проектах с открытым исходным кодом, включая те, которые поддерживаются такими крупными организациями, как Google, Microsoft, Red Hat и Canonical.
Все затронутые проекты с открытым исходным кодом оперативно исправили свой код, когда им сообщили о проблеме. Некоторые даже предложили вознаграждение и товары в качестве благодарности за раскрытие информации.
Чтобы решить эти проблемы, исследователи разработали концептуальное пользовательское действие под названием upload-secure-artifact. Это действие добавляет важный уровень безопасности, проверяя исходный каталог на наличие секретов и блокируя загрузку артефактов, если существует риск случайного раскрытия секретов.
Организациям, использующим механизм артефактов, рекомендуется пересмотреть его использование, особенно в свете того, что GitHub отказался от использования Artifacts v3.
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
Комментарии