{"version":"2.1.265","anchor":"mcp-tool-allowlist-subset-checking-pc-rewritten-around-a-s","canonical_anchor":"mcp-tool-allowlist-subset-checking-pc-rewritten-around-a-s","heading":"MCP tool-allowlist subset checking (pc) rewritten around a safe array\/object reader","tier":"internal","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265\/e\/mcp-tool-allowlist-subset-checking-pc-rewritten-around-a-s","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.265","markdown":"### MCP tool-allowlist subset checking (pc) rewritten around a safe array\/object reader\n\nThe internal check for MCP server tool-allowlist subsets was rewritten to safely handle hostile or malformed data\n\n**What**\n\nThe internal logic that checks whether a server's allowed-tools set is a subset of another set (used to enforce MCP tool restrictions) was rewritten around new helper functions that canonicalize and safely read array and object values. The new helpers bound how large a list can be and catch errors from objects with throwing property getters, guarding against malformed or adversarial input.\n\n**Why**\n\nThis hardens the tool-allowlist comparison against malformed or maliciously-crafted data, so a bad MCP server response can't crash or bypass the allowlist check.\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5"}