CVE-2026-59726 в Ruflo получила максимальную оценку CVSS 10.0: уязвимость позволяет выполнить код без аутентификации в версиях до 3.16.3. Для команд, которые держат агентные платформы в своем контуре, это плохая новость не только из-за захвата хоста: атакующий может еще и отравить постоянную память агентов, а такой след не исчезает сам по себе после обновления.
29 июля об уязвимости написал The Hacker News. Технические детали и список исправлений подтверждают advisory GitHub и карточка NVD.
Что сломалось в Ruflo
Ruflo, ранее известный как Claude Flow, — это платформа с открытым исходным кодом для оркестрации агентных сценариев с Claude Code и Codex. Исследователи Noma Security выяснили, что в конфигурации по умолчанию docker-compose.yml мост MCP и MongoDB слушали все сетевые интерфейсы, а запросы к POST /mcp и POST /mcp/:group проходили без проверки личности.
Этого хватало, чтобы одним HTTP POST получить удаленное выполнение команд внутри контейнера. Дальше сценарий уже неприятно предсказуем: чтение API-ключей провайдеров ИИ из переменных окружения, доступ к сохраненным диалогам, запуск чужих агентных процессов и запись вредоносных шаблонов в AgentDB. По данным The Hacker News, через этот мост были доступны 233 инструмента, включая выполнение команд оболочки, операции с базой данных и управление агентами.
Почему одного патча недостаточно
Самая неприятная часть истории не в самом входе, а в последствиях после него. Уязвимость позволяла записывать вредоносные шаблоны в хранилище памяти агентов, чтобы они влияли на будущие ответы и действия системы уже после закрытия дыры. В advisory Ruflo это сформулировано прямо: простое повторное развертывание с патчем не отменяет уже внесенное отравление.
Для обычного веб-сервиса это был бы инцидент уровня «закрыли порт, сменили ключи, живем дальше». Для агентной платформы модель сложнее: если атакующий успел испортить память, придется проверять не только контейнеры и секреты, но и само состояние системы, на котором агенты учатся и принимают решения.
Что исправили в версии 3.16.3
Мейнтейнер Ruflo выпустил исправление менее чем через сутки после уведомления 30 июня. В версии 3.16.3 мост MCP теперь по умолчанию привязан к loopback-интерфейсу, для публичного открытия нужен MCP_AUTH_TOKEN, выполнение terminal_execute переведено в явный opt-in, а MongoDB запускается с обязательной аутентификацией.
Для уже выставленных наружу инстансов рекомендации жесткие: закрыть порты 3001 и 27017, ротировать ключи OpenAI, Anthropic, Google и других провайдеров, проверить AgentDB на внедренные шаблоны и отдельно аудитировать MongoDB на предмет подмены данных.
Значение для рынка
Для компаний из России и СНГ здесь практический вывод простой: локальное развертывание агентной платформы само по себе не делает ее безопасной. Многие команды уводят такие системы в свой контур ради контроля над кодом, данными и журналами, но вместе с контролем приходит и полная ответственность за сетевую экспозицию, секреты и очистку состояния после инцидента. В случае с Ruflo проблема затрагивает не только сервер, а всю логику, память и инструменты, которыми агент действует от имени пользователя.
Следующий шаг для рынка очевиден: DevSecOps-командам придется относиться к памяти агентов как к отдельной поверхности атаки, а не как к удобной функции продукта.
Источник: The Hacker News, GitHub Security Advisory, NVD.