An MCP Inspector App inside a srcdoc iframe could navigate its child frame to an attacker origin while the parent still trusted its persistent contentWindow reference for JSON-RPC. GHSA-h9j8-vj8g-v3gg demonstrated that wildcard postMessage bridging exposed replies and forwarded tool-call requests to the replacement document. The advisory identifies 2.14.0…
Inspect the ClaimsCase · DiggingBeagle record
MCP Inspector retained an RPC tool bridge after untrusted iframe navigation
An MCP Inspector App inside a srcdoc iframe could navigate its child frame to an attacker origin while the parent still trusted its persistent contentWindow reference for JSON-RPC. GHSA-h9j8-vj8g-v3gg demonstrated that wildcard postMessage bridging exposed replies and forwarded tool-call requests to the replacement document.
Public disclosure: Nov 5, 2026
Reported security vulnerability; exploitation prerequisites and tested version scope matter. No real-world exploitation is established unless separately reported.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade C
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
research demonstration; demonstrated. The cited primary disclosure supports the specific sequence and boundaries described here: Inspector loads an untrusted MCP App inside a srcdoc iframe and establishes a tool-message bridge. The evidence does not independently establish consequences beyond the record's supported outcome; a numerical impact band cannot be justified from the available evidence. Evidence grade C reflects the source attribution and independent verification limits.
Assessed Nov 7, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-DB07-022-OUTCOME · CLM-DB07-022-MECHANISM · Advisory: MCP Inspector srcdoc iframe can navigate to hostile origin yet retain JSON-RPC bridge
At a glance
Enforce exact-origin message binding and revoke the bridge upon frame navigation or document identity change.
Read the implicationsRequires untrusted App rendered; no confirmed actual host tool execution or production exfiltration.
Limits and uncertaintyFull account
An MCP Inspector App inside a srcdoc iframe could navigate its child frame to an attacker origin while the parent still trusted its persistent contentWindow reference for JSON-RPC.
GHSA-h9j8-vj8g-v3gg demonstrated that wildcard postMessage bridging exposed replies and forwarded tool-call requests to the replacement document. The advisory identifies 2.14.0 as the fix; it does not prove deployed-tool misuse.
The browser frame remained the same Window object even after its document moved to a different origin. MCP Inspector's parent used that stable object reference as a proxy for trusted application identity, and wildcard postMessage forwarding did not rebind authority after navigation. An untrusted App could therefore replace its document while retaining access to an established JSON-RPC bridge for responses and tool requests. The researchers demonstrated the messaging path, not a confirmed compromise of a production MCP tool. Inspector 2.14.0 is cited as the fix. The durable lesson is that a frame's continuity does not establish the identity of the code currently running inside it.
A navigation can replace the content of a child frame without necessarily changing the window handle held by its parent. The Inspector's bridge was therefore still able to address a hostile replacement document through the same contentWindow object. Testing only iframe sandbox attributes misses this identity-lifetime problem. An effective fix must bind messages and tool permissions to the current, expected document origin and revoke them on navigation; the advisory does not establish production exfiltration from a real user's MCP tools.
Mechanism and trust boundary
- 01
Inspector loads an untrusted MCP App inside a srcdoc iframe and establishes a tool-message bridge.
- 02
The App navigates its own child frame to an attacker-controlled origin.
- 03
Parent-side code keeps forwarding JSON-RPC via the surviving contentWindow reference and wildcard postMessage despite the changed document.
Claims & evidence
CLM-DB07-022-OUTCOMEGHSA-h9j8-vj8g-v3gg demonstrated that wildcard postMessage bridging exposed replies and forwarded tool-call requests to the replacement document. The advisory identifies 2.14.0 as the fix; it does not prove deployed-tool misuse.supported
Basis: reported finding
- supportsAdvisory: MCP Inspector srcdoc iframe can navigate to hostile origin yet retain JSON-RPC bridgeprimary disclosure
GHSA-h9j8-vj8g-v3gg; iframe navigation and JSON-RPC bridge
CLM-DB07-022-MECHANISMAn MCP Inspector App inside a srcdoc iframe could navigate its child frame to an attacker origin while the parent still trusted its persistent contentWindow reference for JSON-RPC.supported
Basis: reported finding
- supportsAdvisory: MCP Inspector srcdoc iframe can navigate to hostile origin yet retain JSON-RPC bridgeprimary disclosure
GHSA-h9j8-vj8g-v3gg; iframe navigation and JSON-RPC bridge
Implications
Enforce exact-origin message binding and revoke the bridge upon frame navigation or document identity change.
Unknowns and contradictions
- Requires untrusted App rendered; no confirmed actual host tool execution or production exfiltration.
Sources and citation
Material revision history
- Nov 7, 2026 · Published version · first publication · revision 227