mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-21 22:52:19 +03:00
resolveMemoryOwnerId() let a caller-supplied `apiKeyId` win over the resolved caller principal, so any MCP caller could read/write/delete another principal's memories by putting a different id in the tool arguments. The resolved caller (HTTP auth headers on SSE/Streamable HTTP, OMNIROUTE_API_KEY on stdio) now wins; the explicit argument is only honored as a fallback when no caller can be resolved (a bare local stdio process, already trusted). Reported by @rafaelfiguereod-stack via GHSA-cpv3-xr7r-xf8q.