GHSA-953h-535j-jg2v: agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable
The MCP proxy’s client-facing session ID embeds the authenticated caller’s
subject (JWT sub claim) specifically as an anti-hijacking discriminator —
matching the Model Context Protocol specification’s documented session-hijacking
guidance (https://modelcontextprotocol.io/specification/2025-06-18/basic/security_best_practices#session-hijacking).
However, the session-resume path never checks that discriminator against the
current caller’s identity, so any client that obtains a session ID (its own or
another user’s) can resume that session and act with it — including on
routes with per-user backend sessions. This is aggravated by the official
Helm chart shipping a literal, publicly known default seed
("default-insecure-seed") for the key that encrypts these session IDs.
References
- github.com/advisories/GHSA-953h-535j-jg2v
- github.com/theagentrouter/agent-router/commit/0d1e73037076d72251342d0ea578a36ffb7002c7
- github.com/theagentrouter/agent-router/commit/994579660ae2a9f2feef3cb77766e155746858b4
- github.com/theagentrouter/agent-router/pull/2740
- github.com/theagentrouter/agent-router/pull/2755
- github.com/theagentrouter/agent-router/security/advisories/GHSA-953h-535j-jg2v
Code Behaviors & Features
Detect and mitigate GHSA-953h-535j-jg2v with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →