QGIS — это бесплатная кроссплатформенная географическая информационная система (ГИС) с открытым исходным кодом. Репозиторий содержит рабочий процесс GitHub Actions под названием «проверка перед фиксацией», который перед фиксацией 76a693cd91650f9b4e83edac525e5e4f90d954e9 был уязвим для удаленного выполнения кода и компрометации репозитория, поскольку он использовал триггер `pull_request_target`, а затем извлекал и выполнял ненадежный запрос на извлечение. код в привилегированном контексте. Рабочие процессы, инициированные pull_request_target, выполнялись с учетными данными базового репозитория и доступом к секретам. Если бы эти рабочие процессы затем извлекли и выполнили код из заголовка внешнего запроса на включение (который мог контролироваться злоумышленником), злоумышленник мог бы выполнить произвольные команды с повышенными привилегиями. Этот небезопасный шаблон был задокументирован GitHub и исследователями безопасности как угроза безопасности. Коммит 76a693cd91650f9b4e83edac525e5e4f90d954e9 удалил уязвимый код.
Показать оригинальное описание (английский)
QGIS is a free, open source, cross platform geographical information system (GIS) The repository contains a GitHub Actions workflow called "pre-commit checks" that, before commit 76a693cd91650f9b4e83edac525e5e4f90d954e9, was vulnerable to remote code execution and repository compromise because it used the `pull_request_target` trigger and then checked out and executed untrusted pull request code in a privileged context. Workflows triggered by `pull_request_target` ran with the base repository's credentials and access to secrets. If these workflows then checked out and executed code from the head of an external pull request (which could have been attacker controlled), the attacker could have executed arbitrary commands with elevated privileges. This insecure pattern has been documented as a security risk by GitHub and security researchers. Commit 76a693cd91650f9b4e83edac525e5e4f90d954e9 removed the vulnerable code.
Матрица атаки
СТРОКА CVSS ВЕКТОРА
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X