| Title | kazuph mcp-docs-rag <= 0.5.0 Command Injection |
|---|
| Description | A command injection vulnerability exists in mcp-docs-rag due to unsafe use of child_process.execAsync when constructing Git and Wget commands with user-controlled input. Successful exploitation allows attackers to execute arbitrary shell commands with the privileges of the MCP server process. The following MCP tools construct command strings using user-supplied parameters and execute them via child_process.execAsync:
add_git_repository: interpolates repository_url and subdirectory parameters
add_text_file: interpolates file_url parameter
Because execAsync invokes commands through a system shell, specially crafted input containing shell metacharacters (such as `;`, `&`, or `|`) may be interpreted as additional commands rather than treated as data.
For example, an attacker could supply a malicious value in repository_url to inject arbitrary shell commands, which would then be executed with the privileges of the MCP server process.
The vulnerability results from shell-based command execution combined with direct interpolation of untrusted input. In MCP environments, LLM-generated tool parameters influenced by external content may trigger execution of injected commands without direct local user interaction.
|
|---|
| Source | ⚠️ https://github.com/kazuph/mcp-docs-rag/issues/7 |
|---|
| User | Yinci Chen (UID 94659) |
|---|
| Submission | 03/13/2026 04:16 (16 days ago) |
|---|
| Moderation | 03/27/2026 14:54 (14 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 353892 [kazuph mcp-docs-rag up to 0.5.0 add_git_repository/add_text_file src/index.ts cloneRepository os command injection] |
|---|
| Points | 20 |
|---|