Executive brief
ACE-MCP is a local code search tool for Java, JavaScript/TypeScript, .NET, and Python projects that integrates with AI clients via the MCP protocol. A path traversal vulnerability in the get_file_snippet function allows attackers to read arbitrary files on the server by manipulating the projectRootPath parameter, potentially exposing sensitive system files like configuration data or credentials.
Technical details
The get_file_snippet MCP tool in getFileSnippet.ts accepts untrusted projectRootPath and filePath arguments and resolves them without enforcing a workspace boundary. The isPathInsideProjectRoot validation only checks that filePath does not escape the attacker-supplied projectRootPath; since projectRootPath itself is not validated, an attacker can set it to /etc and read arbitrary files. Attack requires network access to the MCP interface with no authentication or user interaction; no patch is available as of the advisory date.
Affected products
- 0215AndrewFeng ACE-MCP up to 4.10.8
Timeline
- 2026-09-20: disclosed
- 2026-08-26: other: vulnerability reported as GitHub issue