Уязвимость OpenCode: команда в адресе MCP-сервера

Уязвимость в агенте для программирования OpenCode позволяла удалённому MCP-серверу запустить код на компьютере разработчика. Команда выполнялась с правами самого пользователя. Под угрозой были Windows и Windows Subsystem for Linux (WSL); macOS и Linux не затронуты.
Уязвимость OpenCode: команда в адресе MCP-сервера
Изображение носит иллюстративный характер

Атака срабатывала не при запуске OpenCode и не из-за одного лишь подключения сервера. Пользователь должен был начать авторизацию командой opencode mcp auth либо отправить соответствующий запрос. Тогда сервер передавал адрес OAuth-точки авторизации, а OpenCode на Windows и WSL открывал его в браузере через вспомогательный компонент.
При запуске браузера этот компонент формировал команду PowerShell, подставляя адрес без необходимого экранирования. Поэтому специально составленный адрес мог содержать PowerShell-код, который исполнялся на компьютере пользователя. Злоумышленнику требовалось контролировать удалённый MCP-сервер, добавленный в конфигурацию разработчика. Сервер мог быть вредоносным изначально, захваченным позднее или перейти к другому владельцу вместе с доменом.
Уязвимыми были версии OpenCode с 1.0.137 по 1.18.32. Компания Anomaly выпустила исправление в версии 1.18.33 28 сентября. Обновление прошло как обычное изменение: запрос на внесение правок описывал переработку запуска браузера, а в заметках к релизу уязвимость не упоминалась. OpenCode также начал проверять, что адрес использует HTTP или HTTPS, но такая проверка сама по себе проблему не решает: вредоносный адрес может быть обычной ссылкой HTTPS. Исправление устранили обновлением помощника запуска браузера.
Уязвимость обнаружила Pillar Security и сообщила о ней публично 19 октября. До этого, 29 августа, компания передала сведения Anomaly напрямую. Позднее Pillar попросила Anomaly пересмотреть решение и запросить CVE. По словам исследователей, Anomaly ответила, что вредоносный MCP-сервер находится за пределами принятой компанией модели угроз. В политике безопасности Anomaly пользовательские MCP-серверы действительно обозначены как «за пределами нашей границы доверия».
Pillar оценила уязвимость как критическую, предложив оценку 9,8 из 10. Признаков эксплуатации в атаках компания не обнаружила и индикаторов для проверки компрометации не опубликовала. Anomaly не запросила CVE и не выпустила бюллетень безопасности. Без CVE уязвимость не попадёт в оповещения сканеров уязвимостей и систем проверки зависимостей, поэтому установленную версию OpenCode пользователям придётся выяснять самостоятельно. При этом в этом году Anomaly публиковала предупреждения о других уязвимостях OpenCode, позволявших выполнять код; одну из них исправили в августе.
Сходная проблема уже возникала в июле 2025 года: прокси mcp-remote передавал командной строке адрес авторизации, полученный от вредоносного сервера. Той уязвимости присвоили номер CVE-2025-6514. В OpenCode для запуска браузера используется широко распространённый пакет open. Риск командной инъекции в его поведении на Windows описали ещё в 2023 году и устранили в версии 11, однако OpenCode продолжал использовать более старый выпуск.
Пользователям OpenCode на Windows и WSL следует обновиться до версии 1.18.33 или новее и проверить список подключённых MCP-серверов. Команда opencode mcp list показывает, какие серверы настроены. Если обновить программу пока нельзя, стоит удалить из конфигурации удалённые серверы, надёжность которых не проверена.
Отдельно от этой уязвимости произошла утечка в размещённой в облаке консоли OpenCode. Об инциденте сообщили примерно в то же время; он мог привести к раскрытию сохранённых API-ключей некоторых пользователей для OpenAI, Anthropic и Google.


Новое на сайте

Ссылка