В 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