Skip to content

MCP Handle Binding and requestState Integrity (Stateless Core)

mcp-handle-binding-integrity is a high severity check in the ai category, written in python. Its source is templates/ai/mcp/mcp-handle-binding-integrity.py in cert-x-gen-templates.

ACTIVE check. The 2026-07-28 MCP core removed sessions and replaced them with server-minted handles that travel inside model context, plus a requestState blob echoed back by the client. This template mints a handle as one identity and presents it as another, and mutates a security-relevant field of an input_required requestState before the retry. CONFIRMED only when a forged-handle control was rejected and a random-blob control was rejected, so acceptance is an integrity failure and not indifference.

Field Value
Id mcp-handle-binding-integrity
Severity high
Language python
Category ai
Author Bugb Research
Template version 1.0.0
Confidence 90
CVSS 8.1
Weakness CWE-639, CWE-565
Tags mcp, ai, agent, stateless-core, handle-binding, requeststate, broken-object-level-authorization, state-tampering, behavioural, active, intrusive, cwe-639, cwe-565
Target kind http, cli
Oracle property, diff

Declared in the header. cxg parses @references and then discards it, and nothing at scan time reads it, so this is the only place the links a template cites are surfaced.

To see what the copy on your machine says about itself, and to confirm it is installed at all:

Terminal window
cxg template info mcp-handle-binding-integrity

The id it prints is the one to pass anywhere a template is selected. See cxg template for the rest of the subcommand, Scan a target for running a scan, and A match is not a finding for how to read what comes back.