{"id":"CVE-2026-116684","state":"PUBLISHED","title":"Model Context Protocol Python SDK: Server bearer-token authentication accepts tokens issued for a different resource server","description":"The Model Context Protocol Python SDK is the official Python SDK for Model Context Protocol servers and clients. From 1.10.0 until 1.30.0 and 2.2.0, server-side bearer authentication configured through AuthSettings with token_verifier accepts a valid token issued for another service when the authorization server serves multiple resources and the TokenVerifier does not independently validate the aud audience. This resource-confusion flaw lets a token holder authenticate to the wrong MCP server and exercise that token's resulting access. This issue is fixed in versions 1.30.0 and 2.2.0.","publishedAt":"2026-10-27T19:12:24.255Z","updatedAt":"2026-10-27T19:12:24.255Z","severity":{"score":6.8,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["modelcontextprotocol python-sdk"],"affected":[{"vendor":"modelcontextprotocol","product":"python-sdk","versions":[{"version":">= 1.10.0, < 1.30.0","status":"affected"},{"version":">= 2.0.0, < 2.2.0","status":"affected"}]}],"references":["https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-w4fh-qvv9-3v23","https://github.com/modelcontextprotocol/python-sdk/pull/3447","https://github.com/modelcontextprotocol/python-sdk/pull/3451","https://github.com/modelcontextprotocol/python-sdk/commit/0c9136841ff092987a20700ff9c2c9789bda2f40","https://github.com/modelcontextprotocol/python-sdk/commit/8c2fa6eabacde869d75568e33b9d466b58c2f512","https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0","https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0"],"weaknesses":["CWE-863"],"ingestedAt":"2026-10-29T20:10:43.281Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/116xxx/CVE-2026-116684.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-116684","state":"PUBLISHED","datePublished":"2026-10-27T19:12:24.255Z","dateUpdated":"2026-10-27T19:12:24.255Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-26T20:00:59.829Z"},"containers":{"cna":{"title":"Model Context Protocol Python SDK: Server bearer-token authentication accepts tokens issued for a different resource server","descriptions":[{"lang":"en","value":"The Model Context Protocol Python SDK is the official Python SDK for Model Context Protocol servers and clients. From 1.10.0 until 1.30.0 and 2.2.0, server-side bearer authentication configured through AuthSettings with token_verifier accepts a valid token issued for another service when the authorization server serves multiple resources and the TokenVerifier does not independently validate the aud audience. This resource-confusion flaw lets a token holder authenticate to the wrong MCP server and exercise that token's resulting access. This issue is fixed in versions 1.30.0 and 2.2.0."}],"affected":[{"vendor":"modelcontextprotocol","product":"python-sdk","versions":[{"version":">= 1.10.0, < 1.30.0","status":"affected"},{"version":">= 2.0.0, < 2.2.0","status":"affected"}]}],"references":[{"url":"https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-w4fh-qvv9-3v23","name":"https://github.com/modelcontextprotocol/python-sdk/security/advisories/GHSA-w4fh-qvv9-3v23","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/pull/3447","name":"https://github.com/modelcontextprotocol/python-sdk/pull/3447","tags":["x_refsource_MISC"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/pull/3451","name":"https://github.com/modelcontextprotocol/python-sdk/pull/3451","tags":["x_refsource_MISC"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/commit/0c9136841ff092987a20700ff9c2c9789bda2f40","name":"https://github.com/modelcontextprotocol/python-sdk/commit/0c9136841ff092987a20700ff9c2c9789bda2f40","tags":["x_refsource_MISC"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/commit/8c2fa6eabacde869d75568e33b9d466b58c2f512","name":"https://github.com/modelcontextprotocol/python-sdk/commit/8c2fa6eabacde869d75568e33b9d466b58c2f512","tags":["x_refsource_MISC"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0","name":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0","tags":["x_refsource_MISC"]},{"url":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0","name":"https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.8,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863: Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-27T19:12:24.255Z"},"source":{"advisory":"GHSA-w4fh-qvv9-3v23","discovery":"UNKNOWN"}}}}}