{"id":"CVE-2026-54561","summary":"MCP Memory Keeper: Arbitrary local file read in mcp-memory-keeper context_import via unvalidated filePath","details":"MCP Memory Keeper is an MCP server for persistent context management in AI coding assistants. Prior to 0.13.0, context_import in src/index.ts passes the caller-controlled filePath directly to fs.readFileSync without restricting the path to an export directory. An MCP client, including an LLM agent induced to call the tool, can use ../ traversal or an absolute path to target any file readable by the server process. A valid JSON file is parsed and imported into the caller's session, allowing its full contents to be retrieved through context_get or context_export, while JSON.parse errors for non-JSON files can return leading file bytes in a SyntaxError message. The two disclosure modes can expose other exported sessions, JSON credentials or service-account files, environment files, and portions of SSH keys or other local files. This issue is fixed in version 0.13.0.","aliases":["GHSA-f7wf-v2vw-mpcx"],"modified":"2026-09-17T03:47:29.172559101Z","published":"2026-09-15T16:32:01.307Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54561.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-209","CWE-22"]},"references":[{"type":"WEB","url":"https://github.com/mkreyman/mcp-memory-keeper/releases/tag/v0.13.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54561.json"},{"type":"ADVISORY","url":"https://github.com/mkreyman/mcp-memory-keeper/security/advisories/GHSA-f7wf-v2vw-mpcx"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54561"},{"type":"REPORT","url":"https://github.com/mkreyman/mcp-memory-keeper/issues/35"},{"type":"FIX","url":"https://github.com/mkreyman/mcp-memory-keeper/commit/58640c22e037572e0b03bc0aa25d015ea98dcc6d"},{"type":"FIX","url":"https://github.com/mkreyman/mcp-memory-keeper/commit/b9369568468007c85f8aec3ae09ca6f611285bc5"},{"type":"FIX","url":"https://github.com/mkreyman/mcp-memory-keeper/commit/e0ab521a9e8343bcab1ca60ccc3601e4d86eaa97"},{"type":"FIX","url":"https://github.com/mkreyman/mcp-memory-keeper/pull/36"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/mkreyman/mcp-memory-keeper","events":[{"introduced":"0"},{"fixed":"58640c22e037572e0b03bc0aa25d015ea98dcc6d"},{"fixed":"b9369568468007c85f8aec3ae09ca6f611285bc5"},{"fixed":"e0ab521a9e8343bcab1ca60ccc3601e4d86eaa97"},{"fixed":"84f6dfa692736a34ff36e2d2cf2188b71facf73b"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"0.13.0"}]}}],"versions":["v0.12.2","v0.12.1","v0.12.0","v0.11.0","v0.10.2","v0.8.5"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54561.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}