Fetching from the wire…
Public story · 2026-09-12 · high
CVE-2026-90474 hits an MCP aggregator that holds credentials for every tool behind it, with client checks and PKCE both off by default.
Why now: Published September 12, two days after the Langflow and ContextForge disclosures showed the same pattern in the same layer.
MCPHub versions before 1.0.32 let an attacker who intercepts an OAuth authorization code redeem it for access tokens, no extra proof required. The bug lives in MCPHub's embedded OAuth 2.0 authorization server, where client authentication is off by default and PKCE enforcement is optional rather than mandatory. NVD rates it CVSS 7.6 and published the entry September 12.
The stakes are bigger than one product. MCPHub is an aggregator, the layer that sits between an AI agent and every tool it's allowed to call. That's the worst place in the stack to leave an auth flow half-locked, because a stolen token there doesn't just expose one integration. It exposes whatever the aggregator was holding credentials for.
This is the second time in a week the same shape has shown up. Langflow and ContextForge disclosed comparable auth-bypass issues two days earlier. Three unrelated projects landing on the same missing check, permissive-by-default client auth plus optional PKCE, isn't a coincidence of timing. It's what happens when a category of software gets built fast on a shared reference implementation and nobody hardens the defaults before shipping.
If you're running an MCP aggregator anywhere near production, PKCE and client authentication need to be mandatory, not configurable. Check what your aggregator defaults to before you trust it with real credentials, because the assumption that a spec-compliant OAuth server is a secure one keeps failing in the same spot.
Each link below shares sources, entities, or timing with this story.
IBM's bulletin lists CVE-2026-85025, rated CVSS 9.8, which allows unauthenticated code execution through publicly shared MCP project endpoints in Langflow 1.0.0 through 1.11.5. CVE-2026-78575 and CVE-2026-81941 let authenticated users run OS commands through the MCP stdio serv...
Versions before 0.30.0 don't validate filesystem paths in MCP tool arguments, so traversal sequences let an attacker read, create, overwrite and delete any Markdown file the server process can reach. NVD published it September 7 under CWE-22. Upgrade to 0.30.0. This is the fou...
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...
Full 10.0. Network vector, low complexity, no authentication, no user interaction, high impact on confidentiality, integrity and availability. CVE-2026-79696, published September 9, is a code injection flaw in adk web affecting Google's Agent Development Kit for Python 2.0.0 t...
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...
CVE-2026-75130, published August 18, covers Upstash's Context7 through 2.1.2: the Custom AI Instructions feature serves unsanitized content through the MCP server, so poisoned instructions can exfiltrate credentials from environment files to an attacker-controlled service and...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.