КИБЕРБЕЗОПАСНОСТЬ

Критическая дыра в Ruflo открыла выполнение команд без входа

Найдена уязвимость в Ruflo, позволяющая выполнять команды без авторизации, что создает серьезные риски для пользователей.

✍️ Редакция iTech News | 28.09.2025 | ⏱ 3 мин | Источник: The Hacker News
Уязвимость Ruflo — серьезная угроза безопасности

В Ruflo нашли критическую уязвимость CVE-2026-59726: при стандартном развёртывании через docker-compose злоумышленник мог выполнять команды без аутентификации. Проблема затрагивает версии ниже 3.16.3 и опасна не только удалённым доступом к контейнеру, но и утечкой ключей к AI-сервисам.

Это уже история не про абстрактную «дыру в ИИ», а про вполне приземлённый DevOps-риск: сервис подняли с настройками по умолчанию, порт оказался доступен снаружи, дальше атакующему остаётся отправить запрос.

Проблема была в стандартной схеме развёртывания

Ruflo — open source-проект для оркестрации AI-агентов, ранее известный как Claude Flow. По описанию CVE, в штатном docker-compose уязвимый MCP-мост открывал эндпоинты POST /mcp и POST /mcp/:group без аутентификации.

Дополнительно конфигурация по умолчанию публиковала сервисы на всех сетевых интерфейсах. В релизе с исправлением разработчики отдельно предупредили операторов закрыть порты 3001 и 27017, если инстанс раньше был доступен из интернета.

Что именно мог сделать атакующий

По данным GitHub Advisory и NVD, атакующий мог вызвать цепочку tools/call → terminal_execute, получить оболочку внутри bridge-контейнера, прочитать ключи провайдеров из переменных окружения и вмешаться в хранилище AgentDB.

Речь не только о краже секретов. Разработчики Ruflo прямо пишут о риске «отравления» AgentDB: злоумышленник мог сохранить вредоносные шаблоны в learning store, чтобы они влияли на дальнейшую работу агентов уже после перезапуска. Параллельно нужно проверять и MongoDB на предмет подмены данных.

Оценка серьёзности тоже говорит сама за себя: GitHub присвоил проблеме 9,8 балла по CVSS 3.1, а в карточке NVD отображается CNA-оценка 10,0.

Как закрыли дыру в версии 3.16.3

В версии 3.16.3 MCP-мост теперь слушает только 127.0.0.1 по умолчанию. Если администратор всё же хочет открыть его наружу, Ruflo требует задать MCP_AUTH_TOKEN, иначе процесс не стартует.

Разработчики также добавили Bearer-аутентификацию, сделали выполнение terminal_execute опцией через MCP_ENABLE_TERMINAL=true, включили аутентификацию MongoDB по умолчанию и потребовали задать MONGO_INITDB_ROOT_PASSWORD при запуске.

Что проверить администраторам

Если Ruflo разворачивали в тестовом или рабочем контуре с конфигурацией по умолчанию, обновления до 3.16.3 мало. Нужно закрыть внешние порты, сменить ключи OPENAI, GOOGLE, OPENROUTER и ANTHROPIC, проверить AgentDB на внедрённые записи и отдельно просмотреть MongoDB на следы вмешательства.

Для команд из России и СНГ вывод простой: AI-инструменты всё чаще несут обычные инфраструктурные риски, только цена ошибки выше, потому что вместе с доступом к контейнеру утекают ещё и платные API-ключи.

Следующий шаг очевиден: после таких инцидентов проекты вокруг AI-агентов будут жёстче закрывать настройки по умолчанию, а безопасная публикация MCP-сервисов быстро станет обязательной, а не «на потом».

Источники: NVD, GitHub Advisory, релиз Ruflo 3.16.3.

Поделиться: Telegram X LinkedIn