| Title | raine consult-llm-mcp <=2.5.3 Command Injection |
|---|
| Description | A command injection vulnerability exists in consult-llm-mcp due to unsafe use of child_process.execSync when constructing Git commands with user-controlled input. Successful exploitation allows attackers to execute arbitrary shell commands with the privileges of the MCP server process. The MCP server consult-llm-mcp constructs command strings using user-supplied parameters git_diff.base_ref and git_diff.files, and executes them via child_process.execSync in the consult-llm tool.
Because execSync 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 git_diff.base_ref 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/raine/consult-llm-mcp/issues/6 |
|---|
| User | Yinci Chen (UID 94659) |
|---|
| Submission | 03/14/2026 09:59 (17 days ago) |
|---|
| Moderation | 03/30/2026 09:55 (16 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 354157 [raine consult-llm-mcp up to 2.5.3 src/server.ts child_process.execSync git_diff.base_ref/git_diff.files os command injection] |
|---|
| Points | 20 |
|---|