AI Vibe Craft
← Назад к AI Vibe News

Редакция 29 апреля 2026 г.

Разборы

RCE в связке Flowise и MCP: почему STDIO — это граница процесса, а не «настройка плагина»

RCE в связке Flowise и MCP: почему STDIO — это граница процесса, а не «настройка плагина».

В агентских стеках подключение инструментов через Model Context Protocol быстро становится нормой: модель получает доступ к файлам, командам и внешним сервисам. Свежий разбор на Dev.to связывает удалённое исполнение кода в Flowise с CVE-2026-40933 и параллельно поднимает CVE-2026-30625 в Upsonic, чтобы показать общий вывод: транспорт MCP STDIO нужно считать зоной запуска процесса, а не безобидной конфигурацией расширения. https://dev.to/tokenmixai/flowise-mcp-rce-what-cve-2026-40933-teaches-about-agent-security-1p6g

Материал опубликован 29 апреля 2026 г. (по времени публикации на площадке); автор ориентирует читателя на обновления Flowise до 3.1.0 или новее, Upsonic — до 0.72.0 или новее, и на жёсткую переоценку Custom MCP STDIO там, где пользователь может задавать команду и аргументы.

Версии Flowise, Upsonic и LiteLLM: что в таблице уязвимостей

CVE-2026-40933 затрагивает Flowise и пакет flowise-components в версиях до 3.0.13 включительно; исправление указано как 3.1.0 с отсылкой к GitHub Advisory Database. CVE-2026-30625 для Upsonic описан для версий до 0.72.0; исправленная линия — 0.72.0 с отсылкой к Snyk. В той же таблице «Affected Versions» на странице фигурирует LiteLLM и CVE-2026-30623 для диапазона 1.74.2 — до 1.83.7 с целевым патчем 1.83.7 и новее.

Отдельно предупреждается, что сводка по версиям отражает публичные advisory на 29 апреля 2026 г., а перед исключениями в проде всё равно стоит свериться с вендором.

Почему MCP STDIO важен именно для безопасности агентов

Аналитики OX Security, на которых ссылается пост, связывают оба случая с паттерном MCP supply-chain: продукты позволяли пользователям задавать MCP STDIO-серверы, а конфигурация могла доходить до путей исполнения на уровне ОС. Для сборщиков агентских систем это означает прямой риск: если конечный пользователь или злоумышленник с правами на создание инструмента управляет командой, аргументами, пакетом или поведением рантайма STDIO MCP, приложение фактически открывает лаунчер процесса, а не просто «подключает плагин».

Ключевой вывод сформулирован жёстко: MCP STDIO — не просто коннектор; при пользовательски задаваемых STDIO MCP-серверах речь идёт о поверхности исполнения процесса, и это другой класс угроз, чем у декларативной настройки без запуска кода.

Если инструмент в агентском контуре может запустить процесс, его нельзя оценивать как «ещё одну строку в конфиге» — нужна модель угроз уровня ОС и рантайма.

Почему одной санитизации мало для STDIO MCP

Проекты пытались снижать риск фильтрацией команд и ограничениями спецсимволов, но разрешённые аргументы команд всё ещё могли приводить к исполнению. На странице таблица сопоставляет типы контролей (например, аутентификация в admin UI, фильтрация символов, allowlist команд) с тем, что они реально отсекают и почему этого может быть недостаточно.

Итоговая формулировка в материале инженерно приземлённая: если возможность запускает процесс, нужны контроли уровня исполнения процесса, а не только валидация форм и «чистый» ввод.

MCP по HTTP и по STDIO: две разные модели угроз

В посте явно разведены ожидания по безопасности: MCP HTTP-инструментам нужна модель угроз в духе API (аутентификация, авторизация, лимиты, наблюдаемость на границе сервиса). MCP STDIO-инструментам, напротив, нужна модель безопасности процесса: песочницы, RBAC, аудит, ограничение исходящего трафика, приватные реестры, фиксация версий, изоляция секретов и быстрая ревокация доступа.

Для команд, которые собирают агентов поверх IDE и оркестраторов, это практическое различие: STDIO почти всегда ближе к «кто может породить процесс на машине», чем к «кто может дернуть HTTP endpoint».

Чеклист приоритетов: патчи, STDIO MCP и контур администрирования

В таблице «Practical Fix List» на странице перечислены меры с приоритетами P0/P1: обновление Flowise 3.1.0+, Upsonic 0.72.0+, отключение Custom MCP STDIO там, где он не нужен, защита admin UI (SSO, VPN, allowlists), запрет произвольных полей command/args, RBAC на создание MCP tools, изоляция рантаймов, разделение секретов, логирование изменений MCP и сетевые ограничения исходящего трафика.

Отдельно в материале есть блоки triage по сценариям (публичный Flowise, внутренний инстанс, Upsonic, LiteLLM, локальная машина, enterprise-платформа) и таблица «Safe Hardening Tests» с вопросами вроде: может ли обычный пользователь создавать Custom STDIO MCP, есть ли произвольные command/args, ведётся ли лог с идентификацией пользователя. Их смысл для продакшена прост: сначала понять, кто вообще может включить STDIO MCP и с какими полями, затем закрыть административные и сетевые хвосты.

Расширенный разбор автор вынес на сайт TokenMix: https://tokenmix.ai/blog/flowise-mcp-rce-cve-2026-40933-upsonic-30625. Ниже — пересказ и выводы по HTML-телу материала на Dev.to на момент 29 апреля 2026, 09:04:21 UTC; утверждения, которых нет в этом HTML на момент доступа, из блога TokenMix сюда не переносились.

Источники

  • TokenMix AI, «Flowise MCP RCE: What CVE-2026-40933 Teaches About Agent Security» — Dev.to (дата доступа к странице для сверки фактов: 2026-04-29T09:04:21Z, UTC).

В конце той же публикации на Dev.to перечислены также (как ссылки на первичные advisory для самостоятельной сверки):

  • https://github.com/advisories/GHSA-c9gw-hvqq-f33r
  • https://www.ox.security/blog/flowise-cve-2026-40933-upsonic-cve-2026-30625-what-to-do-when-best-practice-isnt-enough/
  • https://www.ox.security/blog/mcp-supply-chain-advisory-rce-vulnerabilities-across-the-ai-ecosystem/
  • https://security.snyk.io/vuln/SNYK-PYTHON-UPSONIC-16073332
  • https://security.snyk.io/vuln/SNYK-PYTHON-LITELLM-16119122
  • https://modelcontextprotocol.io/docs/tutorials/security/security_best_practices