{"id":"GO-2026-6911","summary":"SSRF and credential leak via unvalidated Location header in github.com/mark3labs/mcp-go","details":"In github.com/mark3labs/mcp-go/client/transport, NewStreamableHTTP constructs an http.Client with a nil CheckRedirect policy when no custom WithHTTPBasicClient is supplied, and attaches static custom headers and OAuth bearer tokens inside a RoundTripper layer. If an MCP server responds with a 3xx redirect, the client follows the Location header to arbitrary hosts and schemes and attaches configured WithHeaders and OAuth Authorization headers to the redirected request, enabling server-side request forgery (SSRF) and credential disclosure.","modified":"2026-11-05T23:15:16.971949313Z","published":"2026-11-05T22:55:15Z","database_specific":{"url":"https://pkg.go.dev/vuln/GO-2026-6911","review_status":"REVIEWED"},"references":[{"type":"REPORT","url":"https://github.com/golang/vulndb/issues/6911"},{"type":"REPORT","url":"https://github.com/mark3labs/mcp-go/issues/1164"}],"affected":[{"package":{"name":"github.com/mark3labs/mcp-go","ecosystem":"Go","purl":"pkg:golang/github.com/mark3labs/mcp-go"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"ecosystem_specific":{"imports":[{"symbols":["NewStreamableHTTP","StreamableHTTP.Close","StreamableHTTP.SendNotification","StreamableHTTP.SendRequest","StreamableHTTP.SetRequestHandler"],"path":"github.com/mark3labs/mcp-go/client/transport"}]},"database_specific":{"source":"https://vuln.go.dev/ID/GO-2026-6911.json"}}],"schema_version":"1.9.2","credits":[{"name":"kanywst"}]}