Description
Mark3labs mcp-go before v1.2.1 contains an improper validation vulnerability in OAuthHandler.fetchServerMetadata that allows malicious MCP servers to obtain tokens for other resources by declaring arbitrary resources in well-known metadata. Attackers can declare a different MCP server as the RFC 8707 resource indicator, causing the authorization server to mint tokens the attacker replays against that resource.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| mark3labs | mcp-go | v0.48.0 – < v1.2.1 | v1.2.1 |
References
- GitHub Security Advisory (GHSA-xf6j-693p-wqxx) vendor-advisory
- https://github.com/mark3labs/mcp-go/pull/1053 issue-tracking patch
- https://github.com/mark3labs/mcp-go/commit/90d247ed8d45cbb7d71d9a95e112789b78760443 patch
- mcp-go v1.2.1 Release Notes release-notes
- https://github.com/mark3labs/mcp-go/blob/4cb0d2015f24b669726fd8e5e53fc8c6d3f57abf/client/transport/oauth.go#L799-L821 technical-description
- VulnCheck Advisory: mcp-go before v1.2.1 Origin Validation Error via Unvalidated Well-Known Protected Resource Metadata third-party-advisory