В Flowise обнаружена уязвимость в MCP stdio, приводящая к RCE в self-hosted-развертываниях — ИИ для бизнеса

В Flowise обнаружена уязвимость в MCP stdio, приводящая к RCE в self-hosted-развертываниях

Прослушать статью

Уязвимость CVE-2026-40933 в реализации MCP stdio может позволить атакующим выполнить удаленный код в self-hosted-развертываниях Flowise.

Компании, использующие легкую open-source-платформу Flowise для self-hosted-нагрузок с ИИ, получили новую проблему почти максимальной критичности.

Исследователи Obsidian Security описали уязвимость one-click remote code execution (RCE), затрагивающую self-hosted-развертывания Flowise через реализацию серверов Model Context Protocol (MCP) stdio.

Проблема по сути сводится к сбою sandboxing при работе с контролируемыми атакующим конфигурациями MCP, что приводит к выполнению кода на стороне сервера.

«Post-auth RCE в Flowise можно вызвать одним кликом через вредоносный импорт chatflow еще до любого сохранения или запуска», — заявили исследователи в блоге post. «Официальный патч опирается на проверку входных данных, которую тривиально обходят, и не устраняет первопричину».

Flowise часто используют для создания внутренних ИИ-ассистентов, приложений retrieval-augmented generation (RAG), чатботов для клиентов и автономных агентов, подключенных к бизнес-системам.

Уязвимость не затрагивает Flowise Cloud, поскольку stdio MCP там отключен. Для остальных сценариев, где эта функция включена и действительно нужна, разработчикам необходимо понимать компромисс между безопасностью и функциональностью и внимательно проверять конфигурации серверов на предмет угроз, пояснили исследователи.

One-click RCE затрагивает все, к чему может дотянуться Flowise

Уязвимость, отслеживаемая как CVE-2026-40933, затрагивает реализацию MCP stdio servers в Flowise. Stdio в MCP предназначен для запуска локальных серверных процессов и обмена с ними через стандартные потоки ввода и вывода, что позволяет ИИ-агентам работать с файлами, Git-репозиториями, базами данных, браузерами и локальными учетными данными.

По данным Obsidian Security, проблема возникает из-за того, что Flowise позволяет пользователям настраивать MCP stdio servers с произвольными командами. Поскольку эти команды в итоге выполняет базовая операционная система, атакующий может добиться удаленного выполнения кода с правами процесса Flowise.

В контейнеризованных развертываниях, как отметили исследователи, это фактически может дать root-level доступ к среде, где работает платформа.

Уязвимости присвоен рейтинг 9.9 по CVSS; успешное компрометирование может открыть API keys, базы данных, облачные ресурсы, SaaS-приложения и другие активы, доступные через Flowise.

Исследователи заявили, что исправления не закрывают проблему

В раскрытии описана серия мер по устранению уязвимости, которые Flowise предпринимала, чтобы ограничить способы настройки и запуска команд MCP stdio. Однако, по словам Obsidian, каждая итерация в основном опиралась на проверку и фильтрацию команд, которые можно обойти при определенных условиях.

«Flowise, похоже, признала риск и усиливала Custom MCP в несколько этапов», — отметили исследователи. «#5232 добавил CUSTOM_MCP_SECURITY_CHECK — слой проверки, включенный по умолчанию, для конфигураций Custom MCP». Хотя эти проверки уменьшили число очевидных путей к выполнению команд, они мало что изменили в самой угрозе предоставления пользователями stdio MCP-конфигураций, сказали они.

Публикация Obsidian об этой уязвимости привела к дальнейшему ужесточению функции через проверку флагов в обновлениях #5741 и #5943. Но и это не устранило угрозу полностью.

Когда исследователи предложили считать stdio MCP небезопасным по умолчанию и требовать явного opt-in, Flowise, как сообщается, ответила, что хочет «ограничить то, что мы знаем как плохое, не полностью отключая функции, на которые могут полагаться пользователи». Obsidian показала proof-of-concept (POC) exploit, демонстрирующий, как нынешние защиты Flowise все еще можно обойти и добиться успешного RCE.

Единственной полной мерой, которую рекомендуют исследователи, является отключение MCP stdio через установку «CUSTOM_MCP_PROTOCOL=sse». Тем, кто не может сделать это без нарушения работы, они также советуют по возможности закреплять доверенные пакеты и проверять импортированные chatflow из недоверенных источников.

Материал первоначально опубликован на CSO.


Материал — перевод статьи с английского.

Оригинал: Flowise’s MCP implementation can run ghost commands