Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Local attack vector with low privileges to invoke the storage API; all impacts are low and scope is unchanged - no lateral effect on other systems.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in aaronsb memory-graph up to 5cfd2382778837b9f6399080956eee670d00452c. Affected by this vulnerability is the function JsonMemoryStorage.createDomain/JsonMemoryStorage.getMemories/JsonMemoryStorage.saveMemories of the file src/tools/memoryTools.ts. The manipulation results in path traversal. The attack must be initiated from a local position. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases. The project was informed of the problem early through an issue report but has not responded yet.
AnalysisAI
Path traversal in aaronsb memory-graph affects three JsonMemoryStorage functions - createDomain, getMemories, and saveMemories - in src/tools/memoryTools.ts, enabling local low-privilege attackers to escape the intended storage directory and read or write arbitrary files accessible to the process. All rolling-release versions through commit 5cfd238 are affected with no vendor patch issued; the project was notified via GitHub issue #14 but has not responded. A proof-of-concept exploit is publicly available (CVSS 4.0 E:P), and no confirmed active exploitation is listed in CISA KEV.
Technical ContextAI
memory-graph is a TypeScript-based AI agent memory utility, likely functioning as a Model Context Protocol (MCP) server or local memory backend for AI assistants. Its JsonMemoryStorage class in src/tools/memoryTools.ts handles file I/O for storing memory domains as JSON files on the host filesystem. CWE-22 (Path Traversal) arises when caller-controlled domain names or memory identifiers are used to construct file paths without canonicalization - allowing sequences such as '../../' to escape the configured base storage directory. CPE cpe:2.3:a:aaronsb:memory-graph:*:*:*:*:*:*:*:* confirms all releases are affected; because the project uses a rolling release model, there is no version boundary separating vulnerable from patched code.
RemediationAI
No vendor-released patch has been identified at time of analysis - the maintainer was informed via GitHub issue #14 but has not responded. Until an upstream fix is committed, administrators should restrict the OS-level filesystem permissions of the account running memory-graph to only the intended storage directory, preventing traversal from reaching sensitive paths. Deploying memory-graph inside a container (e.g., Docker) with volume mounts limited to the storage directory is a higher-assurance workaround, though it may affect integrations that rely on broader filesystem access. Developers can manually patch src/tools/memoryTools.ts by canonicalizing all input paths with Node.js path.resolve() before file operations and asserting the resolved path begins with the configured base directory - throwing an error on violation. Monitor https://github.com/aaronsb/memory-graph/ for upstream commits addressing this issue.
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-54785
GHSA-4297-h6wq-2qm5