
If you gate MCP tools by tags, read CVE-2026-108586 (1MCP Agent, published Oct 10, CVSS 5.3). 1MCP puts many backend MCP servers behind one HTTP API and tags each one. An OAuth token gets tags, say tag:internal. The API also accepts boolean tag-filter expressions. The scope check pulls out the tag names an expression mentions and confirms each one is granted. It never checks what the expression selects. So a token scoped to internal sends tag-filter=not internal, passes, and gets every backend it was never granted, with tools listed and callable. Affected: @1mcp/agent 0.20.0 through 0.39.0. The latest GitHub release is still 0.39.0, so there's no fixed version yet. If you build authz on top of a filter language, check the set the query returns against the grant. https://www.cve.org/CVERecord?id=CVE-2026-108586

