Уязвимост в AI асистента за програмиране OpenCode позволява на злонамерен или компрометиран MCP сървър да изпълни код на Windows или WSL машина на разработчик при вход в системата. OpenCode се свързва с MCP (Model Context Protocol) сървъри за добавяне на външни инструменти, като такъв код би се изпълнил с правата на самия разработчик.

Anomaly, компанията зад OpenCode, отстрани уязвимостта във версия 1.18.33 на 28 септември. Тя не заяви CVE номер и не публикува бюлетин за сигурност, поради което скенерите за уязвимости няма да отчитат засегнатите версии, които все още са изложени на риск: от 1.0.137 до 1.18.32.

По време на процеса по вход самият сървър предоставя уеб адреса, към който потребителят бива пренасочен – OAuth „крайна точка за упълномощаване“ (authorization endpoint). Под Windows и WSL OpenCode предава този адрес на помощен модул, който го отваря в браузър. Модулът конструира PowerShell команда около адреса, без да екранира специалните символи, поради което адрес, форматиран така, че да съдържа PowerShell команда, би довел до нейното изпълнение.

Стъпката с отварянето на браузъра се задейства само когато разработчикът стартира процеса по удостоверяване, изпълнявайки opencode mcp auth или подавайки съответната заявка. Самото конфигуриране на сървъра или отварянето на сесия не достига до този етап.

Атакуващият се нуждае от контрол над отдалечен MCP сървър, който разработчикът е добавил, като не е задължително този сървър да е бил компрометиран от самото начало. Сървър, овладян на по-късен етап, или домейн със сменен собственик също би могъл да предостави злонамерения адрес.

Pillar Security, които откриха уязвимостта и я оповестиха публично на 19 октомври, я оценяват като критична с предложена оценка за тежест от 9.8 от 10.

Проблемът засяга OpenCode под Windows и Windows Subsystem for Linux (WSL). macOS и Linux не са засегнати, тъй като там OpenCode стартира браузъра, без да предава адреса през команден интерпретатор (shell).

OpenCode внедри корекцията като рутинна промяна. Заявката за сливане (pull request), която я въвежда, е описана като преработка на кода за стартиране на браузър, като нито тя, нито бележките към версията споменават проблем със сигурността.

Anomaly не поиска CVE идентификатор и не публикува препоръка за сигурност. Политиката за сигурност на компанията посочва, че конфигурираните от потребителя MCP сървъри са „извън границите ни на доверие“.

Pillar докладваха уязвимостта конфиденциално на 29 август и по-късно поискаха от Anomaly да преразгледа позицията си и да заяви CVE. Отговорът на Anomaly според Pillar е бил, че злонамерен MCP сървър попада извън техния модел на заплахи.

Диаграма на архитектурата на MCP уязвимостта

Тъй като няма присвоен CVE номер, недостатъкът няма да се появява в скенери или предупреждения за зависимости, така че откриването на засегнати инсталации изисква директна проверка на версията на OpenCode. Anomaly вече публикува бюлетини за други уязвимости за отдалечено изпълнение на код в OpenCode през тази година, включително една, отстранена през август.

Същият тип недостатък се е проявявал и преди. През юли 2025 г. проксито mcp-remote съдържаше почти идентичен дефект, при който крайната точка за упълномощаване на компрометиран сървър достигаше до командния ред. На него беше присвоен номер CVE-2025-6514.

Помощният браузърен модул на OpenCode е широко използваният пакет open. Поведението му под Windows бе докладвано като риск от внедряване на команди (command injection) през 2023 г. и коригирано във версия 11 на open, но OpenCode е останал на по-старо издание.

Стандартната защита за този клас проблеми е проверка дали адресът използва HTTP или HTTPS. В случая тя не помага, тъй като атаката използва обикновен HTTPS адрес. OpenCode също добави подобна проверка, но пробивът беше затворен чрез обновяване до коригираната версия.

Какво да предприемете

Всеки, който използва OpenCode под Windows или WSL, трябва да извърши обновяване и да провери към кои сървъри е свързан.

  1. Обновете до OpenCode 1.18.33 или по-нова версия.
  2. Ако все още не можете да извършите обновяване, премахнете всички отдалечени MCP сървъри, които не сте проверили, от конфигурацията на OpenCode.
  3. Изпълнете opencode mcp list, за да видите кои сървъри са конфигурирани.

От Pillar съобщават, че няма данни уязвимостта да е била използвана при атаки, и не публикуват индикатори за проверка на минала експлоатация. Дефектът е отделен от инцидента с хостваната конзола на OpenCode, разкрит по същото време, при който може да са били изложени съхранени API ключове на потребители за OpenAI, Anthropic и Google.