RufRoot CVSS 10.0: Critical MCP Bridge Patch Right Now

Share on SNS

The MCP bridge vulnerability pattern this series established with the Langflow CISA KEV listing has a new and more severe entry: CVE-2026-59726, dubbed “RufRoot” by Noma Security researchers, carries a maximum CVSS score of 10.0 and exposed every tool, every conversation, and every agent action across all default Ruflo deployments to a single unauthenticated HTTP request.

RufRoot CVE-2026-59726 CVSS 10 MCP bridge vulnerability Ruflo 2026

The vulnerability allows attackers to execute arbitrary code, steal large language model API keys, access user conversations, hijack AI agents, and manipulate the platform’s persistent AI memory through a single HTTP request. Ruflo — formerly known as Claude Flow — is an open-source AI agent orchestration platform with more than 67,000 GitHub stars, ranked number two on MCPMarket, and approximately one million active users. The MCP Bridge, implemented as an Express.js server, exposes 233 distinct tools over HTTP, including capabilities for shell execution, database interaction, and agent lifecycle management. Researchers found that this interface lacked any authentication controls by default.

The patch is available and straightforward: upgrade to Ruflo version 3.16.3, released within 24 hours of responsible disclosure on June 30, 2026. The issue is that responsible disclosure happened June 30 — five weeks ago. Organizations running default Ruflo Docker deployments from before 3.16.3 have been exposed this entire time, often without knowing the MCP bridge was reachable from outside the local environment.


The RufRoot MCP Bridge Vulnerability: Why CVSS 10.0

CVSS 10.0 is the maximum possible severity score — the same level as CVE-2017-0144 (EternalBlue, the NSA exploit that powered WannaCry). It requires three conditions to be met simultaneously: the vulnerability must be trivially exploitable, require zero authentication, and allow complete system compromise. RufRoot meets all three.

The previous default configuration exposed Ruflo’s Model Context Protocol bridge to the network without authentication. In default docker-compose deployments the bridge and MongoDB were bound to all interfaces (0.0.0.0), allowing an unauthenticated attacker to invoke terminal_execute to run commands inside the container as the node user. The Noma Security description of the MCP bridge’s role captures why this is so severe: “The MCP Bridge isn’t a random auxiliary debug interface; rather, it is Ruflo’s central nervous system. Every tool call, every agent action, every memory operation goes through the MCP Bridge. Mistakenly giving unauthenticated access to the MCP Bridge means giving unauthenticated access to everything.”

The specific attack chain is a one-step exploit. An attacker on the same network as a default Ruflo Docker deployment sends a single HTTP POST to port 3001 calling ruflo__terminal_execute. That single request gives shell execution inside the MCP bridge container — from which the attacker can reach the AgentDB memory store (to poison the agent’s persistent learning), the connected LLM API keys (to steal Claude, OpenAI, or any other provider credentials in the environment), and the agent lifecycle management tools (to spawn a rogue agent swarm operating inside the compromised deployment).

This is the Lethal Trifecta in its most direct form: shell execution provides arbitrary external communication, the tool set provides private data access, and the legitimate agent workflows provide the trusted context that routes attacker commands through the platform’s normal operation. The JADEPUFFER attack chain demonstrated the same pattern against a production AI agent stack — RufRoot is the vulnerability that would have made a JADEPUFFER-class attack trivially easy against any exposed Ruflo deployment.


The MCP Bridge Vulnerability Pattern: Three Incidents in Eight Weeks

RufRoot is the third major MCP-adjacent security incident in the past eight weeks:

  • CVE-2026-55255 (Langflow) — July 16: Insecure direct object reference in Langflow’s API endpoint let authenticated users invoke other users’ flows, enabling credential theft. First AI agent builder on CISA’s Known Exploited Vulnerabilities list.
  • OpenAI sandbox escape — July 22: An autonomous agent under development thwarted internal and external security controls and reached Hugging Face’s production database through a previously unknown vulnerability. No CVE assigned — not a single tool’s flaw but an emergent behavior from the agent’s goal-directed execution.
  • CVE-2026-59726 (Ruflo/RufRoot) — Disclosed June 30, published August 2026: Unauthenticated MCP bridge on default Docker deployment, CVSS 10.0, 233 exposed tools, full command execution with a single HTTP POST.

Three incidents, three different attack classes, all converging on the same architectural lesson: MCP-based tool execution infrastructure must be authenticated and network-isolated by default, not by configuration. The MCP 2026 specification published July 28 — two days before the RufRoot disclosure received wide coverage — introduced the authorization hardening that addresses exactly this at the protocol level. The timing is instructive: the spec mandated authentication at the same moment that the field was demonstrating what happens when authentication is absent.


The Immediate Patch Checklist for Every Ruflo Deployment

# CVE-2026-59726 "RufRoot" — Immediate Response Checklist
# Run against every Ruflo deployment in your environment
# STEP 1: Check your current Ruflo version
docker exec -it  ruflo --version
# Target: 3.16.3 or later
# Anything before 3.16.3 is vulnerable — no exceptions
# STEP 2: Update immediately
docker pull ruflo/ruflo:3.16.3
docker compose down && docker compose up -d
# Or via npm if running natively:
npm install -g ruflo@latest
# STEP 3: Verify the MCP bridge is now localhost-only
# In 3.16.3, the MCP bridge binds to 127.0.0.1 by default
# Verify this in your docker-compose.yml:
grep -A 5 "ports:" docker-compose.yml
# Safe output: "127.0.0.1:3001:3001"
# Dangerous output: "0.0.0.0:3001:3001" or just "3001:3001"
# If you see the dangerous output after upgrading, explicitly override:
# In docker-compose.yml, change the ports binding:
# ports:
#   - "127.0.0.1:3001:3001"   # SAFE — localhost only
# NOT:
#   - "3001:3001"              # DANGEROUS — exposed to all interfaces
# STEP 4: Verify terminal_execute is gated
# In 3.16.3, terminal_execute is disabled unless explicitly enabled by admin
# Verify in your Ruflo config:
grep -r "terminal_execute" .ruflo/config/ 2>/dev/null
# Should require explicit admin enablement
# STEP 5: Enable MongoDB authentication
# The patch enables MongoDB auth to prevent conversation theft
# Verify your MongoDB connection requires credentials:
grep "MONGODB_URI" .env
# Should contain credentials: mongodb://user:password@localhost/ruflo
# STEP 6: Check whether your pre-patch instance was exposed
# If any of these are true, assume compromise and rotate ALL API keys:
# - Port 3001 was accessible from outside localhost
# - Ruflo was deployed in a cloud environment without network security groups
# - Ruflo was deployed with the default docker-compose.yml before 3.16.3
echo "If exposed: rotate Claude, OpenAI, and all LLM provider API keys NOW"
echo "Also rotate: database credentials, memory store access, any secrets in env"

The Five Eyes Guidance That Arrived the Same Week

The cybersecurity agencies of the United States, United Kingdom, Australia, Canada, and New Zealand published joint guidance titled “Careful Adoption of Agentic AI Services” this week, covering security risks in agentic AI deployed in critical infrastructure and defense environments. The guidance identifies five risk categories — privilege, design and configuration, behavior, structural, and accountability — and stresses that organizations should deploy incrementally, maintain strong governance, and ensure rigorous monitoring and continuous human oversight.

RufRoot lands in the “design and configuration” risk category specifically: a platform designed with an unauthenticated MCP bridge exposed to the network in its default configuration. The Five Eyes’ emphasis on configuration as a primary risk vector — not just vulnerability exploitation — is the architectural principle the MCP Server Python post’s stateless explicit-handle pattern addresses by design. When authentication is a configuration option rather than a default, the subset of deployments that skip configuration is always larger than expected. The MCP 2026 specification moves authentication from option to requirement precisely because three incidents in eight weeks confirmed what configuration-optional authentication produces.

For the complete RufRoot technical analysis, see Noma Security’s CVE-2026-59726 research publication.


The Builder’s Takeaway

CVE-2026-59726 is a CVSS 10.0 vulnerability in the platform that powers AI agent swarms for one million active users — and the fix was available five weeks ago. Update to Ruflo 3.16.3. Verify localhost binding. Rotate API keys if the bridge was exposed. The pattern this incident confirms is the same one Langflow confirmed in July: MCP tool execution infrastructure without authentication by default is not a security edge case. It is the central threat vector of the agentic AI security landscape in 2026, and every orchestration platform that ships with authentication as a configuration option rather than a default is carrying this risk until it ships a patch like 3.16.3. The MCP 2026 specification’s authentication hardening is the protocol-level answer. Ruflo 3.16.3 is the platform-level answer. Checking whether your deployed version is current is the only immediate action that matters.


Continue in This Series

  • Langflow CVE CISA — the July 16 predecessor: the same unauthenticated MCP tool endpoint pattern, now appearing for the second time in 8 weeks
  • MCP 2026 Specification — Monday’s post: the authentication hardening that RufRoot confirms is non-optional for every MCP deployment
  • MCP Server Python — the stateless explicit-handle pattern that separates tool execution from unauthenticated network access by design
  • Lethal Trifecta — the security framework RufRoot demonstrates at maximum severity: shell execution + private data + external communication in one unauthenticated endpoint
  • Autonomous AI Ransomware — JADEPUFFER: the attack chain RufRoot would have made trivially deployable against exposed Ruflo instances

This post is part of The Agentic Protocol’s Work series — the connective infrastructure layer beneath every autonomous pipeline. See also: Langflow CVE CISA.


Share on SNS