← Блог

CVE в MCP: постоянно обновляемый список раскрытых уязвимостей

securitymcpreference

Категории риска MCP (tool poisoning, rug pull, command injection) полезно понимать абстрактно, и мы разобрали их отдельно именно так. Эта страница это другая половина: реальные, именованные раскрытия, а не описание категорий. Это снимок на момент публикации, а не постоянный счётчик: новые CVE против реализаций MCP появляются темпом в десятки за квартал на протяжении всего 2026 года.

Список

ДатаCVEПроектМеханизм
Апр 2025не присвоенwhatsapp-mcpTool poisoning в сочетании со скрытыми инструкциями в описаниях инструментов, позволяющими эксфильтрацию сообщений.
Май 2025не присвоенОфициальный MCP-сервер GitHubPrompt injection через широкий скоуп Personal Access Token; вредоносный публичный GitHub issue мог перехватить подключённого ассистента.
Июн 2025CVE-2025-49596Anthropic MCP InspectorНеаутентифицированный RCE через архитектуру inspector-proxy: отсутствие аутентификации на localhost-листенере, достижимом с посещённой веб-страницы. CVSS 9.4.
Июн 2025не присвоенMCP-сервер AsanaЛогическая ошибка контроля доступа, допускающая видимость данных между тенантами.
Июл 2025CVE-2025-6514mcp-remote (OAuth-прокси)Заминированное значение authorization_endpoint от вредоносного MCP-сервера передавалось напрямую в системную оболочку. У пакета было 437 000+ загрузок на момент раскрытия. CVSS 9.6.
Июл 2025CVE-2025-54136 («MCPoison»)CursorКоманда за уже одобренной конфигурацией MCP-сервера могла быть подменена после одобрения, позволяя изменению общей конфигурации в репозитории незаметно перенаправить доверенный инструмент. CVSS 8.8.
Авг 2025CVE-2025-53109, CVE-2025-53110Anthropic Filesystem-MCP serverПобег из песочницы и обход через symlink, дающий произвольный доступ к файлам за пределами заданного скоупа.
Сен 2025CVE-2025-59528FlowiseИзъян дизайна STDIO-транспорта, позволяющий обойти защиту и напрямую достучаться до модулей child_process и fs.
Окт 2025не присвоенSmithery MCP hostingPath traversal через dockerBuildPath, дающий доступ к домашней директории хоста, утечка Docker-конфига и API-токена Fly.io, управлявшего 3000+ приложениями.
Окт 2025CVE-2025-53967Figma/Framelink MCPНесанитизированный пользовательский ввод передавался в child_process.exec вместе с недоверенными данными.
Янв 2026CVE-2026-0755gemini-mcp-tool (неофициальный)Пользовательский ввод передавался напрямую в системный вызов через execAsync без валидации. Неаутентифицированный RCE. CVSS 9.8.
Мар 2026CVE-2026-33032nginx-ui (MCP message endpoint)Отказавшая аутентификация на MCP message endpoint позволяла менять конфиг и триггерить перезагрузку. Найдено 2600+ уязвимых инстансов. CVSS 9.8.
Апр 2026множественные, 10+LettaAI, LangFlow, Windsurf, LangChain-адаптерыПрямое выполнение команды из конфигурации без достаточной санитизации ввода в обработке subprocess у STDIO-транспорта. У затронутых пакетов суммарно 150 млн+ загрузок.

Составлено по хронологическому таймлайну инцидентов от AuthZed; для более широкой, постоянно обновляемой базы сверьтесь с The Vulnerable MCP Project.

В чём реальный паттерн

Почти ничто из этого не новый класс уязвимостей. Это command injection, path traversal, отсутствующая аутентификация на локальном листенере и широко заскоуженные токены, те же категории багов, с которыми веб-бэкенды разбираются уже два десятилетия, только теперь на поверхности протокола, которую ИИ-агент вызывает напрямую, а не через провалидированный API-слой, к которому обращается браузер. STDIO-транспорт всплывает раз за разом по конкретной причине: он даёт локальному процессу прямой доступ к выполнению subprocess и файловой системе, и несколько из этих раскрытий это ровно такой доступ, до которого дотянулся ввод, которому вообще не следовало доверять.

Что реально проверить перед подключением сервера

  • Валидирует ли он ввод перед тем, как он попадёт в shell или файловый вызов? Command injection и path traversal составляют большую часть списка выше.
  • Требует ли локальный листенер аутентификации, или доверяет всему, что может достучаться до localhost? Раскрытия Inspector и nginx-ui сводятся именно к этому.
  • Какой скоуп у токена, если сервер проксирует OAuth или хранит credentials? Раскрытие mcp-remote и случай с prompt injection в GitHub MCP оба сводятся к токену с досягаемостью больше, чем требовала конкретная задача, тот же структурный пробел подробнее разобран здесь.

Ничто из этого не повод избегать MCP. Это повод относиться к «мы подключили новый MCP-сервер» с той же тщательностью, что и к «мы добавили новую зависимость с доступом к shell», потому что структурно это ровно оно и есть.