Executive brief
mindpilot-mcp is a code visualization and agent monitoring tool. A path traversal vulnerability in the HistoryService component allows a local attacker to read, modify, or delete arbitrary JSON files on the system outside the intended history storage directory, potentially exposing or corrupting sensitive data stored by the application.
Technical details
The vulnerability is a classic path traversal flaw in the HistoryService component affecting the PATCH, DELETE, and PUT API endpoints (/api/history/:id and related routes). The root cause is that the route parameter `id` (diagramId) is concatenated directly into a file path via `path.join(this.dataDir, '${diagramId}.json')` without sanitization or containment verification. An attacker can supply values like `../../../target.json` to escape the intended dataDir and operate on arbitrary JSON files accessible to the application's process. The attack is local and does not require authentication; an attacker with access to the HTTP server can read, write, or delete JSON files outside the intended directory. Patches addressing this issue are not yet available from the project.
Affected products
- abrinsmead mindpilot-mcp 0.5.0
Timeline
- 2026-04-25: disclosed: Vulnerability reported via GitHub issue #24
- 2026-08-08: advisory: Published as CVE-2026-19287