[Bug] WebFetch summarizer leaks parent session context on cold-start

Open 💬 0 comments Opened Jul 15, 2026 by dimartin

Bug Description
WebFetch leaks the caller's session context into fetched-page output (cold-start trigger) WebFetch answers your prompt against a fetched page using an internal summarizer LLM. That summarizer inherits the parent session's system-context — the # MCP Server Instructions block and any <system-reminder> blocks — and emits it verbatim, appended after the actual page content. Trigger is cold-start, not chance: the leak fires on the first WebFetch call inside a freshly-spawned subagent, and not on that agent's later fetches. Reliable repro (3/3): From a session with MCP servers configured, spawn 3 subagents; each WebFetches https://example.org twice (distinct cache-buster query strings, e.g. ?a=11/?a=12) and returns the raw output. Result: all 3 leaked the full # MCP Server Instructions block on fetch 1; all 3 were clean on fetch 2. By contrast, 19 consecutive fetches from the warm main thread were all clean — which is why this previously looked "intermittent ~1-in-3-4." Proof it's leakage, not the page or hallucination: - Raw bytes are clean: curl -fsSL https://example.org | grep -icE 'system-reminder|rookery|techne|computer-use' → 0. - The appended block names the session's real private MCP servers (computer-use, rookery, techne) — a summarizer given only IANA boilerplate cannot produce those tokens without having them in context. Impact: Private session context (MCP tooling names/instructions, <system-reminder> content, potentially secrets) is exposed in WebFetch output. Every fetch co-resides attacker-controllable page content with the caller's private context in one model — a confidentiality + prompt-injection surface. No direct exfil (summarizer has no tools). Affects every WebFetch call, most reliably on subagent cold-start. Fix: Run the WebFetch summarizer with isolated, minimal context — fetched page + caller prompt only. It must not inherit the parent session's <system-reminder> or # MCP Server Instructions blocks.

Environment Info

  • Platform: darwin
  • Terminal: tmux
  • Version: 2.1.202
  • Feedback ID: 77db39aa-2802-49a3-91a4-04480240b3d2

Errors

[]

View original on GitHub ↗