Onderzoekers op het gebied van cyberbeveiliging hebben een zeer ernstig beveiligingslek opgemerkt in Ruflo, een open source-meta-harnas voor Anthropic Claude Code en OpenAI Codex, dat zou kunnen resulteren in niet-geverifieerde uitvoering van externe code.
De kwetsbaarheid, bijgehouden als CVE-2026-59726 (CVSS-score: 10.0), heeft invloed op alle versies van het project vóór versie 3.16.3. Het heeft de codenaam gekregen RufRoot door het onderzoeksteam van Noma Security, Noma Labs.
Oorspronkelijk gelanceerd als Claude Flow, is Ruflo een AI-multi-agent-orkestratieplatform en -harnas waarmee gebruikers multiplayer-zwermen kunnen inzetten, autonome workflows kunnen coördineren en conversatie-AI-systemen kunnen bouwen. Het project heeft meer dan 66.500 sterren op GitHub.
De kern van het beveiligingslek is dat Ruflo 233 tools blootlegde, waaronder het uitvoeren van shell-opdrachten, databasebewerkingen, agentbeheer en geheugenopslag, via een niet-geverifieerde Model Context Protocol (MCP)-brug die standaard open staat voor het netwerk.
Concreet bleek het YAML-configuratiebestand “docker-compose.yml” poort 3001 standaard te binden aan 0.0.0.0, waardoor de bridge op alle netwerkinterfaces zichtbaar werd. Dat gezegd hebbende, hangt de mate van blootstelling af van de firewallregels, beveiligingsgroepen en netwerksegmentatie van de implementatie. Het is vermeldenswaard dat elk netwerkbereikbaar exemplaar volledig kan worden misbruikt zonder authenticatie.
Als gevolg hiervan maakte een enkele niet-geverifieerde HTTP POST naar poort 3001 het mogelijk om volledige uitvoering van externe code te verkrijgen binnen een gevoelige Ruflo-implementatie, aldus beveiligingsonderzoeker Eli Ainhorn –
curl -s -X POST https://:3001/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ruflo__terminal_execute","arguments":{"command":"id && hostname"}}}'
Gewapend met dit houvast zou een aanvaller de API-sleutels kunnen overhevelen die Ruflo gebruikt om te communiceren met aanbieders van grote taalmodellen (LLM), elk gebruikersgesprek dat op het platform is opgeslagen, kunnen lezen en zich kunnen bemoeien met het geheugen van het AI-systeem om de reacties en het gedrag van modellen te beïnvloeden.
Met andere woorden, de uitvoering van opdrachten dient als opstapje naar volledige compromissen, waardoor LLM API-sleuteldiefstal, agentbewapening, AI-geheugenvergiftiging, conversatieoogst en aanhoudende backdoor-implementatie mogelijk worden gemaakt door een kwaadaardige payload naar de map “/app” te schrijven.
“Vóór 3.16.3 stelde Ruflo’s standaard docker-compose-implementatie de MCP-bridge POST /mcp en POST /mcp/:group-eindpunten bloot zonder authenticatie, waardoor een niet-geverifieerde netwerkaanvaller tools kon aanroepen/terminal_execute kon aanroepen, een shell in de bridge-container kon verkrijgen, API-sleutels van de provider kon lezen en AgentDB-leeropslagpatronen kon vergiftigen”, aldus een beschrijving van de fout in NIST’s National Vulnerability Database (NVD).
Na de verantwoorde openbaarmaking op 30 juni 2026 werd binnen 24 uur een oplossing voor het beveiligingslek gepusht door de beheerder van het project, Reuven Cohen. Als onderdeel van de patch bindt de MCP-bridge nu standaard aan de loopback-interface, poort “terminal_execute” achter de executeTool-besturingselementen aan de serverzijde en maakt MongoDB-authenticatie mogelijk om onder meer conversatiediefstal te voorkomen.
“De MCP-bridge die in ruflo/docker-compose.yml werd verzonden, stelde POST /mcp bloot zonder authenticatie”, zei Cohen in de release-opmerkingen. “De standaardinstellingen voor docker-compose verbinden de bridge en MongoDB met alle interfaces.”
“Gecombineerd zou een niet-geverifieerde netwerkaanvaller tools/call → terminal_execute in de bridge-container kunnen aanroepen, een shell kunnen verkrijgen, elke API-sleutel van de provider uit de container-env kunnen lezen, door de aanvaller bestuurde zwermen op de sleutels van het slachtoffer kunnen spawnen en een vergiftigd patroon kunnen voortzetten in de AgentDB-leeropslag die toekomstige AI-uitvoer stuurt.”
Operators die een blootgesteld exemplaar uitvoeren, wordt aangeraden om firewallpoorten 3001 en 27017 onmiddellijk te sluiten, alle LLM API-sleutels te roteren, de AgentDB-patroonopslag te controleren op geïnjecteerde agentdb_pattern-store-items en MongoDB te controleren op tekenen van geknoei.
“De Ruflo-kwetsbaarheid maakte het mogelijk een zwerm agenten op gang te brengen om te doen wat de aanvaller wilde en zelfs met het geheugen van de AI te knoeien,” zei Noma. “De mogelijkheid om kwaadaardige instructies in het persistente AI-geheugen van een platform te schrijven, betekent dat een aanvaller de reacties die AI aan elke toekomstige gebruiker van het platform geeft, kan beïnvloeden, lang nadat de oorspronkelijke inbraak is beëindigd.”
“Voor organisaties die aan een kwetsbaarheid als deze zijn blootgesteld, vereist herstel meer dan een software-update. De inloggegevens van de AI-provider moeten worden behandeld als gecompromitteerd en gerouleerd, het AI-geheugen van het platform moet worden gecontroleerd op manipulatie, en containers moeten opnieuw worden opgebouwd vanaf een schoon image.”