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