Case · DiggingBeagle record

A webpage could mutate local MCP agent memory through permissive CORS

A local memory tool transport accepted cross-origin JSON-RPC requests without authenticating its loopback caller.

Public disclosure: Nov 6, 2026

Scope

MCP Memory Service Streamable HTTP/SSE deployments without a configured API key or OAuth, up to 12.5.0.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade B
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

First-party advisory documents cross-origin unauthenticated tools/call requests against loopback memory through 12.5.0; real customer installation compromise is not established. An impact band remains unassigned because the available evidence does not establish a comparable severity score or verified numerical loss for this assessment.

Assessed Nov 8, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Visit an attacker-controlled website while a vulnerable local MCP HTTP server runs.

  2. 02

    Allow the page to submit cross-origin JSON-RPC tool requests to loopback.

  3. 03

    Delete or poison stored agent memories under the server process authority.

Claims & evidence

CLM-MCP-MEMORY-LOOPBACK-CORS-01MCP Memory Service versions through 12.5.0 allowed unauthenticated loopback MCP HTTP transport with a permissive default CORS preflight, enabling pages to send tools/call requests that changed or deleted stored memories.supported

Basis: reported finding

Link to claim

Implications

Local network placement is not a proof of user intent. Persistent memory writes need both a local network boundary and an authenticated, origin-aware action policy.

Controls and mitigations

  • Upgrade MCP Memory Service to 12.6.0 or later; require authenticated tool calls and explicit allowed origins rather than wildcard CORS on loopback.
  • Separately test memory modification by cross-origin POST and memory reads through DNS-rebinding scenarios; these have different browser and network prerequisites.

Unknowns and contradictions

  • Reading memory contents through DNS rebinding has additional browser and network preconditions. The advisory is a demonstrated exposure, not a census of compromised local installations. The patched release is 12.6.0.

Sources and citation

Material revision history

  1. Nov 8, 2026 · Canonical change recorded · new in release · revision 229