Quick answers
- Is This vulnerability exploited in the wild?
- No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
- How severe is This vulnerability?
- Low severity, with a CVSS score of 3.1, published 14 May 2026.
- Which products and versions are affected?
- @samanhappy/mcphub (npm) SEMVER:introduced=0,fixed=0.12.15; Samanhappy Mcphub <0.12.17.
- Is there a fix for This vulnerability?
- Yes. @samanhappy/mcphub (npm): upgrade to 0.12.15 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is This vulnerability attacked?
- It is attacked over the network, in a software library.
- Am I affected?
- Check whether you run @samanhappy/mcphub (npm) or Samanhappy Mcphub at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @samanhappy/mcphub (npm): upgrade to 0.12.15 or later
npm install @samanhappy/mcphub@0.12.15
Technical details
The sseUserContextMiddleware in src/middlewares/userContext.ts accepts a username directly from the URL path parameter (req.params.user) without any authentication check, database validation, or token verification, constructing a fabricated IUser object that is accepted as legitimate. The SSE routes in src/server.ts apply only rate limiting and this vulnerable middleware—no authentication middleware protects the endpoints. Additionally, UserContextService is a singleton that stores the current user in a single instance variable, creating a race condition (CWE-362) where concurrent connections can overwrite each other's context. An attacker with network access to the SSE endpoint can connect as any user and execute MCP tool calls under the spoofed identity. The vulnerability was fixed in version 0.12.17.
Affected products
- samanhappy mcphub <0.12.17
Timeline
- 2026-05-14: disclosed
- 2026-05-14: patched: Fixed in version 0.12.17