{"answers":{"affected":"2 open source packages ship an affected version, including mcp-handler.","exploited":"There is no known exploitation of GHSA-w2fm-25vw-vh7f in the wild and no public exploit code.","fix":"Upgrade mcp-handler to 1.1.0 or later.","what":"GHSA-w2fm-25vw-vh7f is a vulnerability in mcp-handler, published on 1 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for GHSA-w2fm-25vw-vh7f and fix it if it is affected.\n\nWhat it is: GHSA-w2fm-25vw-vh7f is a vulnerability in mcp-handler, published on 1 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of GHSA-w2fm-25vw-vh7f in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- mcp-handler (npm): affected all versions; fixed in 1.1.0\n- mcp-handler (npm): affected all versions; fixed in 1.1.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/GHSA-w2fm-25vw-vh7f/ (Markdown: https://insights.sbomify.com/GHSA-w2fm-25vw-vh7f/index.md)","id":"GHSA-w2fm-25vw-vh7f","markdown":"https://insights.sbomify.com/GHSA-w2fm-25vw-vh7f/index.md","name":"GHSA-w2fm-25vw-vh7f","record":{"aliases":[],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"MCP handler library","requires_auth":"low_privilege","summary":"A race condition in the MCP handler library allows low-privileged attackers to read other clients' session data and authentication context via concurrent requests.","user_interaction":"not_required","vuln_class":"race_condition"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"`mcp-handler` versions prior to 1.1.0 accepted `@modelcontextprotocol/sdk` \u003c 1.26.0 as a peer dependency. That SDK version contains a vulnerability [[CVE-2026-25536](https://nvd.nist.gov/vuln/detail/CVE-2026-25536)] that causes concurrent requests from different clients to share server-side state including authentication context and tool execution results when a `StreamableHTTPServerTransport` instance is reused across requests.\n\n**Note:** This is _not_ a vulnerability in `mcp-handler` itself. The root cause is in the peer dependency `@modelcontextprotocol/sdk`. \n\n### Impact\n\nA low-privileged attacker making concurrent requests to an `mcp-handler` endpoint can read another client's session data, including authentication information and tool execution state. This is a confidentiality breach with potential for limited integrity impact.\n\n**Root Cause:** [CVE-2026-25536](https://nvd.nist.gov/vuln/detail/CVE-2026-25536) in `@modelcontextprotocol/sdk` \u003c 1.26.0. The SDK did not prevent reuse of stateless transports across client connections.\n\n### Patches\n\nUpgrade to `mcp-handler@1.1.0`. This release raises the minimum peer dependency to `@modelcontextprotocol/sdk@\u003e=1.26.0`, which contains the fix for CVE-2026-25536. \n\n### Workarounds\n\n- Upgrade `@modelcontextprotocol/sdk` to `\u003e=1.26.0` (note: the SDK will throw on transport reuse, which will break `mcp-handler` \u003c 1.1.0 which effectively forces the upgrade)\n- Alternatively, manually create fresh `McpServer` and transport instances per request in your handler code","ecosystems":["npm"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"mcp-handler has a tool response leak across concurrent client sessions ('Race Condition')","id":"GHSA-w2fm-25vw-vh7f","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"npm","product":null,"products":[],"type":"race_condition","year":"2026"},"n_packages":2,"n_references":null,"packages":[{"ecosystem":"npm","fixed":["1.1.0"],"introduced":["0"],"last_affected":[],"package":"mcp-handler","purl":null,"source":"GHSA-w2fm-25vw-vh7f"},{"ecosystem":"npm","fixed":["1.1.0"],"introduced":["0"],"last_affected":[],"package":"mcp-handler","purl":"pkg:npm/mcp-handler","source":"GHSA-w2fm-25vw-vh7f"}],"products":null,"published":"2026-04-01","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"A race condition in the MCP handler library allows low-privileged attackers to read other clients' session data and authentication context via concurrent requests.","url":"https://insights.sbomify.com/GHSA-w2fm-25vw-vh7f/"}