Meshtastic — это сетевое решение с открытым исходным кодом. До версии 2.7.21.1370b23 рабочий процесс main_matrix.yml репозитория Meshtastic GitHub запускался с помощью pull_request_target, и несколько заданий проверяли код вилки злоумышленника и выполняли его с доступом к секретам репозитория и повышенными разрешениями GITHUB_TOKEN. Никаких ворот одобрения не существует.
Запросы на извлечение от внешних пользователей с автором_ассоциацией: «НЕТ» автоматически запускали рабочий процесс CI. Рабочий процесс напрямую выполняет файлы, контролируемые злоумышленником, из проверки вилки. Эта проблема могла привести к компрометации цепочки поставок, компрометации автономного бегуна и/или захвату репозитория для репо.
Эта проблема не связана с GHSA-6mwm-v2vv-pp96, в котором рассматривается внедрение команды через github.head_ref в задание настройки того же рабочего процесса. Это исправление правильно перенесено в переменные среды. Однако более критическая уязвимость проверки вилки в заданиях проверки, сборки и сборки debian-src не была устранена.
Версия 2.7.21.1370b23 содержит исправление этой проблемы.
Показать оригинальное описание (EN)
Meshtastic is an open source mesh networking solution. Prior to version 2.7.21.1370b23, the Meshtastic GitHub repository's main_matrix.yml workflow is triggered by pull_request_target and multiple jobs check out the attacker's fork code and execute it with access to repository secrets and elevated GITHUB_TOKEN permissions. No approval gate exists. Pull requests from external users with author_association: "NONE" triggered the CI workflow automatically. The workflow directly executes attacker-controlled files from the fork checkout. This issue could have resulted in supply chain compromise, self-hosted runner compromise, and/or repository takeover for the repo. This issue is separate from GHSA-6mwm-v2vv-pp96, which addressed a command injection via github.head_ref in the setup job of the same workflow. That fix correctly moved to environment variables. However, the more critical fork checkout vulnerability across the check, build, and build-debian-src jobs was not addressed. Version 2.7.21.1370b23 contains a patch for thie issue.
Характеристики атаки
Последствия
Строка CVSS v3.1