Anthropic подтвердила, что не будет выпускать исправление для CVE-2026-30623 — критической уязвимости типа «инъекция команд» в SDK Model Context Protocol (MCP), что оставляет под угрозой более 200 000 развернутых экземпляров. Разработчикам, использующим MCP для интеграции инструментов, следует рассматривать эту уязвимость как непосредственный риск.
Почему эта уязвимость важна
MCP позволяет приложениям на базе LLM вызывать внешние инструменты через стандартизированный протокол. Все четыре официальных SDK поставляются с транспортом STDIO, который принимает произвольный текст от модели и передает его напрямую в оболочку (shell) хоста. Уязвимость CVE-2026-30623 позволяет вредоносной модели — или скомпрометированному описанию инструмента — внедрить любую команду, которую может выполнить хост-процесс. Anthropic заявляет, что такое поведение является намеренным, и отказалась выпускать исправление, а это значит, что уязвимость останется в текущей цепочке поставок, охватывающей примерно 150 миллионов загрузок SDK.
Что могут сделать злоумышленники
- Инъекция команд — любой, кто может редактировать конфигурационный файл сервера, может запускать shell-команды на хост-машине, потенциально получая полный доступ к системе.
- Отравление инструментов (Tool poisoning) — внедряя вредоносные инструкции в описание инструмента, злоумышленник может обманом заставить модель отправить конфиденциальные данные, такие как облачные учетные данные, на внешний эндпоинт.
- Слабая аутентификация — опрос 1400 MCP-серверов показал, что у 38,7 % из них вообще отсутствует аутентификация, что делает путь для инъекции тривиально доступным.
- Низкие показатели доверия — только 12,9 % индексируемых MCP-серверов соответствуют критериям высокого доверия сообщества, что указывает на то, что большинство из них работают с минимальными мерами защиты.
Совокупность этих векторов создает поверхность атаки на цепочку поставок, которую можно использовать в масштабах, особенно в средах, где MCP-серверы автоматически развертываются из публичных репозиториев SDK.
Предстоящие изменения в спецификации — и почему они не помогут сейчас
Выпуск кандидата на релиз (release candidate) новой спецификации MCP запланирован на 28 июля. Она переносит авторизацию на OAuth 2.1 и OpenID Connect и добавляет поддержку серверов за стандартными балансировщиками нагрузки. Хотя эти изменения улучшают модель безопасности, они не исправляют ретроактивно транспорт STDIO, используемый в 200 000 уязвимых экземплярах. Они также не мешают разработчикам публиковать «отравленные» описания инструментов после обновления спецификации.
Как разработчикам снизить риски уже сегодня
- Проведите аудит серверов на базе STDIO — если вы не контролируете конфигурационный файл, запускающий MCP-сервер, считайте его ненадежным и избегайте использования транспорта STDIO.
- Проверяйте метаданные инструментов — внимательно изучайте описание каждого инструмента на наличие скрытых команд или URL-адресов, которые могут использоваться для эксфильтрации данных.
- Не полагайтесь на метрики популярности — большое количество установок не гарантирует безопасность реализации; рассматривайте каждое развертывание как отдельный риск.
- Проверяйте внедрение OAuth 2.1 — убедитесь, что сервер действительно реализует OAuth 2.1 и OpenID Connect, а не просто заявляет о статусе «MCP-совместим».
На что обратить внимание в дальнейшем
Следите за руководствами по внедрению и любыми последующими патчами, которые исправляют транспорт STDIO. До тех пор самым безопасным решением будет замена STDIO на более контролируемый транспортный уровень или переход на альтернативные фреймворки вызова инструментов, которые не полагаются на уязвимый путь выполнения кода.
Итог: Решение Anthropic оставляет обширную и легко эксплуатируемую поверхность атаки. Разработчики, которые не могут гарантировать целостность своих MCP-серверов, должны отказаться от транспорта STDIO и тщательно проверять каждое описание инструмента, чтобы их системы не превратились в канал для передачи вредоносных команд.
Источник: https://dev.to/gentic_news/mcps-cve-2026-30623-anthropic-wont-fix-stdio-command-injection-mh6
