CVE-2026-29783

HIGH CVSS 4.0: 7,5
Обновлено 6 марта 2026
GitHub
Параметр Значение
CVSS 7,5 (HIGH)
Устранено в версии 0.0.423
Тип уязвимости CWE-78 (OS Command Injection (Внедрение команд ОС))
Поставщик GitHub
Публичный эксплойт Нет

Инструмент оболочки в версиях CLI GitHub Copilot до 0.0.422 включительно может разрешать выполнение произвольного кода с помощью созданных шаблонов расширения параметров bash. Злоумышленник, который может влиять на команды, выполняемые агентом (например, посредством внедрения подсказок через файлы репозитория, ответы сервера MCP или пользовательские инструкции), может использовать операторы преобразования параметров bash для выполнения скрытых команд, минуя оценку безопасности, которая классифицирует команды как «только для чтения». Это было исправлено в версии 0.0.423.

Уязвимость связана с тем, как оценка безопасности оболочки CLI оценивает команды перед их выполнением. Уровень безопасности анализирует и классифицирует команды оболочки как доступные только для чтения (безопасные) или с возможностью записи (требуется одобрение пользователя). Однако некоторые функции расширения параметров bash могут встраивать исполняемый код в аргументы команд, которые в противном случае доступны только для чтения, в результате чего они кажутся безопасными, хотя на самом деле выполняют произвольные операции.

Конкретными опасными шаблонами являются ${var@P}, ${var=value} / ${var:=value}, ${!var} и вложенные $(cmd) или <(cmd) внутри расширений ${...}. Злоумышленник, который может повлиять на текст команды, отправленный в инструмент оболочки - например, путем внедрения подсказки через вредоносное содержимое репозитория (файлы README, комментарии к коду, тела задач), скомпрометированные или вредоносные ответы сервера MCP или созданные пользовательские инструкции, содержащие запутанные команды, - может добиться выполнения произвольного кода на рабочей станции пользователя. Это возможно даже в режимах разрешений, которые требуют одобрения пользователя для операций записи, поскольку может показаться, что команды используют только утилиты только для чтения, чтобы в конечном итоге инициировать операции записи.

Успешная эксплуатация может привести к краже данных, изменению файлов или дальнейшему компрометации системы.

Показать оригинальное описание (EN)

The shell tool within GitHub Copilot CLI versions prior to and including 0.0.422 can allow arbitrary code execution through crafted bash parameter expansion patterns. An attacker who can influence the commands executed by the agent (e.g., via prompt injection through repository files, MCP server responses, or user instructions) can exploit bash parameter transformation operators to execute hidden commands, bypassing the safety assessment that classifies commands as "read-only." This has been patched in version 0.0.423. The vulnerability stems from how the CLI's shell safety assessment evaluates commands before execution. The safety layer parses and classifies shell commands as either read-only (safe) or write-capable (requires user approval). However, several bash parameter expansion features can embed executable code within arguments to otherwise read-only commands, causing them to appear safe while actually performing arbitrary operations. The specific dangerous patterns are ${var@P}, ${var=value} / ${var:=value}, ${!var}, and nested $(cmd) or <(cmd) inside ${...} expansions. An attacker who can influence command text sent to the shell tool - for example, through prompt injection via malicious repository content (README files, code comments, issue bodies), compromised or malicious MCP server responses, or crafted user instructions containing obfuscated commands - could achieve arbitrary code execution on the user's workstation. This is possible even in permission modes that require user approval for write operations, since the commands can appear to use only read-only utilities to ultimately trigger write operations. Successful exploitation could lead to data exfiltration, file modification, or further system compromise.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Требуются
Нужны дополнительные условия
Нужны права
Не требуются
Права не нужны
Участие пользователя
Активное
Нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v4.0