The Ruflo GitHub advisory identifies versions before 3.16.3 as affected and 3.16.3 as patched.
- supportsUnauthenticated RCE in ruflo MCP bridge default docker-compose deployment
Locator: Affected versions and Patched versions fields
Case · DiggingBeagle record
Ruflo's default Docker deployment exposed an MCP bridge without authentication. The project's advisory says a network attacker could invoke terminal execution, obtain a shell in the bridge container, read provider API keys, create attacker-controlled swarms and persist poisoned state into AgentDB.
Defensive coordinated vulnerability disclosure affecting Ruflo before 3.16.3. The researcher-provided proof of concept was described to maintainers as confirmed against a default AWS EC2 deployment; Ruflo's ADR independently verified the substantive claims through static source analysis and review of the disclosed proof of concept but did not re-run it against a live host. The scoped record does not establish malicious exploitation of third-party deployments.
Ruflo's vulnerable boundary was the MCP control plane around the agents, not a language-model behavior. The shipping Docker Compose configuration exposed the MCP bridge and MongoDB on all interfaces, while POST /mcp accepted tool calls without an authentication gate. The bridge also exposed terminal_execute, and the tool blocklist that mentioned that capability applied only to the autopilot flow rather than to the direct MCP routes.
That produced a direct network-to-tool path. Ruflo's advisory says an unauthenticated caller could invoke terminal execution, obtain a shell as the container user, read provider API keys inherited by the bridge, spawn attacker-controlled swarms on those credentials and write poisoned patterns into AgentDB. MongoDB exposure and persistent learning state widened the effect beyond one shell session.
The evidence has an important provenance boundary. The coordinated-disclosure report included an eight-step proof of concept and video described as live against a default AWS EC2 deployment. Ruflo's maintainers did not perform live exploitation; they statically verified the report against the checked-out source, reviewed the proof of concept and shipped a layered remediation that changed default binding, authentication, terminal-tool gating, MongoDB authentication and container hardening.
The default Docker Compose topology bound the bridge to port 3001 on all interfaces; MongoDB on 27017 was also publicly bound by default.
Boundary: network / agent control plane
POST /mcp accepted tool calls without proving caller identity.
Boundary: remote request / MCP tool dispatcher
The terminal_execute blocklist was enforced in the autopilot path, while direct POST /mcp and /mcp/:group calls bypassed that policy.
Boundary: tool policy / direct API path
The advisory states that terminal_execute provided shell execution as the node user inside the bridge container.
Boundary: MCP tool / runtime container
The compromised bridge inherited provider credentials and could reach AgentDB and MongoDB, creating paths to credential abuse, persistent poisoned learning state and conversation-store tampering.
Boundary: runtime container / provider keys and persistent stores
ADR-166 says the report included an eight-step proof of concept and video described as confirmed against a default AWS EC2 deployment.
ADR-166 records static verification of the substantive claims and layered changes to binding, authentication, tool gating, MongoDB and runtime defaults.
GHSA-c4hm-4h84-2cf3 identifies versions before 3.16.3 as affected, 3.16.3 as patched and assigns CVE-2026-59726.
Locator: Affected versions and Patched versions fields
Scope: Severity measurement for the vulnerability; it is not a measure of observed victim count.
Locator: GHSA severity, CVSS vector, CVE ID and weakness fields
Locator: Description: default docker-compose deployment, unauthenticated POST /mcp and tools/call to terminal_execute
Locator: Context section stating the default deployment exposed an unauthenticated MCP bridge and that the report was statically verified
Scope: The live-AWS statement is the researcher's reported proof-of-concept result as relayed by Ruflo; the maintainers' own verification was static.
Locator: ADR-166 sections 1.1 and 1.3: coordinated disclosure, reported AWS EC2 PoC and audit limitations
Locator: Description and impact chain following terminal_execute
Locator: Operator response guidance following the remediation list
Locator: Section 1.1 'Why this ADR now'
An MCP bridge is a privileged control plane, not harmless glue between a model and tools. If network identity, tool authorization and persistent state protection fail at that layer, an attacker can bypass model-level safeguards entirely. Remediation also has an incident-response dimension: once credentials or learned state may have been changed, fixing the route does not restore the prior trust state.
DiggingBeagle. “Ruflo's default MCP bridge exposed unauthenticated shell execution and agent memory poisoning.” First seen Jul 1, 2026. https://diggingbeagle.com/cases/ruflo-s-default-mcp-bridge-exposed-unauthenticated-shell-execution-and-agent-mem/
Citation guidanceWhy this archive exists
DiggingBeagle is a non profit research project documenting AI security incidents, agent failures, vulnerabilities and AI-assisted operations. A case keeps its claims beside the sources that support, contest or limit them. Later updates stay visible, so a reader can see when the account changed.
We publish case reconstructions, dated reporting and analysis across records. Each has a different evidentiary role. About the project and our methodology explain how the work is reviewed.