OWASP BLT — это платформа для тестирования качества и раскрытия уязвимостей, которая охватывает веб-сайты, приложения, репозитории git и многое другое. Версии до 2.1.1 содержат уязвимость RCE в рабочем процессе .github/workflows/regenerate-migrations.yml. Рабочий процесс использует триггер pull_request_target для запуска с полными разрешениями на запись GITHUB_TOKEN, копирует файлы, контролируемые злоумышленником, из ненадежных запросов на вытягивание в рабочую область доверенного исполнителя через git show, а затем выполняет python Manage.py makemigrations, который импортирует модули модели Django, включая контролируемый злоумышленником веб-сайт/models.py во время выполнения.
Любой код Python на уровне модуля в файле models.py злоумышленника выполняется во время импорта, что позволяет выполнять произвольный код в привилегированной среде CI с доступом к GITHUB_TOKEN и секретам репозитория. Атака может быть инициирована любым внешним участником, который может открыть запрос на включение при условии, что сопровождающий применяет метку regenerate-migrations, что потенциально может привести к секретной утечке, компрометации репозитория и атакам на цепочку поставок. Ожидается, что исправление этой проблемы будет выпущено в версии 2.1.1.
Показать оригинальное описание (EN)
OWASP BLT is a QA testing and vulnerability disclosure platform that encompasses websites, apps, git repositories, and more. Versions prior to 2.1.1 contain an RCE vulnerability in the .github/workflows/regenerate-migrations.yml workflow. The workflow uses the pull_request_target trigger to run with full GITHUB_TOKEN write permissions, copies attacker-controlled files from untrusted pull requests into the trusted runner workspace via git show, and then executes python manage.py makemigrations, which imports Django model modules including attacker-controlled website/models.py at runtime. Any module-level Python code in the attacker's models.py is executed during import, enabling arbitrary code execution in the privileged CI environment with access to GITHUB_TOKEN and repository secrets. The attack is triggerable by any external contributor who can open a pull request, provided a maintainer applies the regenerate-migrations label, potentially leading to secret exfiltration, repository compromise, and supply chain attacks. A patch for this issue is expected to be released in version 2.1.1.
Характеристики атаки
Последствия
Строка CVSS v3.1