MCPHub Missing Authorization Leads to Global Prompt/Resource Shadowing and Stored Prompt Injection
First seen Sep 1, 2026 · Updated Sep 1, 2026 · CVSS 7.1
MCPHub prior to version 1.0.32 fails to enforce admin-only access on prompt and resource management endpoints, allowing any authenticated non-admin user to create, overwrite, or shadow globally-served prompt templates and resources. Because these tampered records are consulted before any connected MCP server for every session, the flaw enables stored prompt injection into other users' LLM sessions. The issue is patched in 1.0.32.
Technical Analysis
The vulnerability stems from missing role-based access control (RBAC) on the mutating POST/PUT /api/prompts* and /api/resources* routes: these routes are attached to the authenticated router but never inspect req.user to verify admin privileges, so any logged-in user can call them. The handlers write to global DAO singletons that back handleGetPromptRequest and handleReadResourceRequest, and these DAO records take precedence over data returned by connected upstream MCP servers. An attacker with a low-privilege account can therefore inject or overwrite globally-shared prompt templates or resource content, which is then served to every other user's LLM session as trusted context, effectively achieving stored prompt injection across tenant boundaries. This crosses the trust boundary between individual user sessions and the shared MCP orchestration layer, turning a broken-access-control bug into a multi-user prompt injection primitive.
Affected Systems
MCPHub; protocols: MCP
Detection Signatures
- Unexpected POST/PUT requests to /api/prompts* or /api/resources* from non-admin user tokens
- Log entries showing prompt/resource writes without corresponding admin role claims in req.user
- Discrepancies between DAO-stored prompt/resource content and content expected from the connected upstream MCP server
- Sudden unexplained changes to globally shared prompt templates or resource definitions
- Multiple distinct user sessions receiving identical, recently modified prompt content not tied to their own requests
Remediation Steps
- 1
Upgrade MCPHub
Update to MCPHub version 1.0.32 or later, which adds proper admin role checks to prompt and resource management routes.
- 2
Enforce RBAC on all mutating endpoints
Audit all POST/PUT/DELETE routes on the authenticated router to ensure req.user role is checked server-side before any write to shared/global state.
- 3
Isolate per-tenant prompt/resource stores
Where possible, avoid globally-shared DAO singletons for prompt/resource content; scope storage per user or per workspace to limit blast radius.
- 4
Add integrity monitoring
Implement change-detection/alerting on global prompt and resource records to catch unauthorized tampering quickly.
- 5
Review upstream MCP server precedence logic
Reconsider whether locally stored DAO records should take precedence over live upstream MCP server responses, or require signed/verified content for override.
CVE / Advisory IDs
Industries Most Exposed
Respond to this threat
Pro subscribers get a full AI-generated incident-response playbook for this threat — detection, containment, eradication, and recovery steps — plus an unlimited AI Threat Advisor for questions about your environment.