Fetching from the wire…
Public story · 2026-09-06 · high
CVE-2026-86122 is the third unguarded MCP server_url CVE in this NVD batch, after OGX and OWL.
Why now: NVD published the entry on September 5.
Rowboat through version 0.9.1 doesn't check where a custom MCP server or webhook URL actually points. An authenticated user can set that URL to an internal service or a cloud metadata endpoint, and the server fetches it anyway. That's enough to enumerate a network's internal topology from inside the perimeter, using credentials that were only supposed to configure an integration.
NVD's listing went up September 5 as CVE-2026-86122. It's the third entry in this NVD window with the same root cause: a user-supplied MCP server_url gets fetched with no destination check. OGX and OWL both have open CVEs for the identical pattern.
Three unrelated codebases making the same mistake isn't bad luck. It's a gap in how products added MCP support. A server_url field takes user input and the server fetches it, the same shape as a webhook URL, and a webhook URL needs a destination guard for exactly this reason. Whoever built these three integrations didn't carry that guard over.
The fix NVD's advisory points at is validation on the server, since the client is what you don't trust in this threat model. If you shipped a product that lets users point it at their own MCP server, check for the same gap before it becomes your own CVE entry.
What NVD's entry doesn't say is whether Rowboat has patched it yet or which version fixes it. Anyone running Rowboat should look for an update before treating this as closed.
Each link below shares sources, entities, or timing with this story.
Your read-only flag is a claim, not a guarantee. Two independent Postgres MCP servers proved it on September 4. Postgres MCP Pro got CVE-2026-85620 at CVSS 9.2. The bug is one line of reasoning in safe_sql.py: the validator checks function names on FuncCall AST nodes. A functi...
The trick is one line in a file you never read. Manifold Security published eight findings across seven coding agents (Claude Code, Codex, Cursor, Grok Build, Qwen Code, goose, Hermes Agent) that all reduce to the same mechanism. A repository's own .git/config sets core.fsmoni...
OGX, formerly Llama Stack, has an OpenAI-compatible POST /v1/responses where MCP tool definitions carry a server_url plus headers and authorization values, fetched server-side with no destination validation. The project ships validate_url_not_private() and applies it to other...
The Model Context Protocol has a security problem, and now we have numbers to prove it. An independent scan of 5,618 public MCP servers found that only 143 — that's 2.5% — scored green on a basic security assessment. The remaining 5,067 servers (90%) flagged yellow for stale d...
NVD published CVE-2026-79743 through 79750 between 18:17:19 and 18:17:20 UTC on August 31, all against the same MCP aggregator (NVD). CVE-2026-79748 lets any authenticated non-admin POST to /api/servers with arbitrary command and args, which MCPHub hands straight to child_proc...
CVE-2026-82021 (CVSS 9.0) covers Hermes Agent 0.18.2 through 0.19.0, where the bundled MCP catalog referenced a third-party upstream by branch name rather than commit SHA. Compromise the upstream and your code reaches every host installing that catalog entry, with zero operato...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.