Изследователи по киберсигурност сигнализираха за уязвимост от критична степен в Ruflo – платформа с отворен код за управление на агенти за Anthropic Claude Code и OpenAI Codex, която би могла да доведе до неудостоверено отдалечено изпълнение на код.
Уязвимостта, проследявана като CVE-2026-59726 (оценка по CVSS: 10.0), засяга всички версии на проекта преди 3.16.3. Тя е наречена с кодовото име RufRoot от изследователския екип на Noma Security – Noma Labs.
Първоначално стартиран под името Claude Flow, Ruflo е платформа за оркестрация на мултиагентни системи с изкуствен интелект, която позволява на потребителите да внедряват групи от агенти, да координират автономни работни процеси и да изграждат разговорни AI системи. Проектът има над 66 500 звезди в GitHub.
Същността на уязвимостта се състои в това, че Ruflo излага 233 инструмента, включително изпълнение на команди в обвивката (shell), операции с бази данни, управление на агенти и съхранение на памет, чрез неудостоверен мост по протокола Model Context Protocol (MCP), който по подразбиране е отворен към мрежата.
По-конкретно е установено, че конфигурационният YAML файл „docker-compose.yml“ обвързва порт 3001 с адрес 0.0.0.0 по подразбиране, излагайки моста на всички мрежови интерфейси. Въпреки това, степента на излагане зависи от правилата на защитната стена, групите за сигурност и мрежовото сегментиране. Важно е да се отбележи, че всеки достъпен по мрежата инстанс е напълно експлоатационен без нужда от удостоверяване.
В резултат на това една единствена неудостоверена HTTP POST заявка към порт 3001 прави възможно пълното отдалечено изпълнение на код в уязвима инсталация на Ruflo, според изследователя по сигурността Ели Айнхор.
С тази позиция атакуващият би могъл да източи API ключовете, които Ruflo използва за взаимодействие с доставчиците на големи езикови модели (LLM), да прочете всеки потребителски разговор, съхранен на платформата, и да се намеси в паметта на AI системата, за да повлияе на отговорите и поведението на модела.
С други думи, изпълнението на команди служи като трамплин за пълно компрометиране, позволявайки кражба на API ключове за LLM, превръщане на агентите в оръжие, заразяване на паметта на изкуствения интелект, събиране на разговори и внедряване на постоянен заден вход (backdoor) чрез записване на злонамерен код в директорията „/app“.
„Преди версия 3.16.3, внедряването на Ruflo по подразбиране чрез docker-compose излагаше крайните точки на MCP моста POST /mcp и POST /mcp/:group без удостоверяване, позволявайки на неудостоверен мрежов атакуващ да повика tools/call към terminal_execute, да получи достъп до обвивката (shell) в контейнера на моста, да прочете API ключовете на доставчиците и да зарази моделите за обучение в AgentDB,“ се посочва в описанието на недостатъка в Националната база данни за уязвимости (NVD) на NIST.
След отговорно оповестяване на 30 юни 2026 г., корекцията за сигурност беше внедрена от поддържащия проекта Реувен Коен в рамките на 24 часа. Като част от обновяването, MCP мостът вече се свързва с локалния интерфейс (loopback) по подразбиране, ограничава достъпа до „terminal_execute“ зад контроли за изпълнение на инструменти от страна на сървъра (executeTool) и активира удостоверяване за MongoDB с цел предотвратяване кражбата на разговори, наред с други мерки.
„MCP мостът, доставян в ruflo/docker-compose.yml, излагаше POST /mcp без никакво удостоверяване,“ споделя Коен в бележките към версията. „Настройките по подразбиране в docker-compose свързваха моста и MongoDB с всички интерфейси.“
„Комбинирано, неудостоверен мрежов атакуващ можеше да повика tools/call → terminal_execute в контейнера на моста, да получи обвивка (shell), да прочете всеки API ключ на доставчик от променливите на средата в контейнера, да стартира контролирани от атакуващия групи агенти за сметка на ключовете на жертвата и да запише заразен модел в базата AgentDB, който да насочва бъдещите резултати на изкуствения интелект.“
На администраторите, работещи с изложени инстанси, се препоръчва незабавно да затворят портове 3001 и 27017 на защитната стена, да подменят всички API ключове за LLM, да проверят хранилището на AgentDB за инжектирани записи от типа „agentdb_pattern-store“ и да инспектират MongoDB за признаци на подправяне.
„Уязвимостта в Ruflo позволяваше стартирането на група от агенти, които да вършат каквото атакуващият пожелае, и дори подправяне на паметта на изкуствения интелект,“ заявяват от Noma. „Възможността да се запишат злонамерени инструкции в постоянната AI памет на дадена платформа означава, че атакуващият може да повлияе на отговорите, които изкуственият интелект дава на всеки бъдещ потребител на платформата, дълго след като първоначалното проникване е приключило.“
„За организациите, изложени на уязвимост като тази, отстраняването изисква повече от просто обновяване на софтуера. Данните за достъп до AI доставчиците трябва да се считат за компрометирани и да бъдат подменени, паметта на AI платформата трябва да бъде ревизирана за подправяне, а контейнерите трябва да бъдат преизградени от чисто изображение.“