CVE-2026-6980
7.3Divyanshu-hash · GitPilot-MCP
GitPilot-MCP contains an OS command injection vulnerability in the run_tests function of main.py, allowing unauthenticated remote attackers to execute arbitrary shell commands.
Executive summary
A critical OS command injection vulnerability in GitPilot-MCP allows unauthenticated remote attackers to execute arbitrary commands on the underlying host system.
Vulnerability
The application utilizes the subprocess.run function with shell=True to execute the command argument in the run_tests tool without validation, enabling unauthenticated command injection.
Business impact
A successful exploit grants the attacker full control over the host environment where the GitPilot-MCP service is running. This leads to complete loss of confidentiality, integrity, and availability, as attackers can read sensitive files, modify source code repositories, or disrupt critical CI/CD workflows. While the CVSS score is 7.3, the potential for arbitrary code execution and the presence of public exploit material warrant immediate attention.
Remediation
Immediate Action: As no official patch is currently available, administrators should disable the affected tool or restrict network access to the MCP interface using strict firewall rules or mTLS authentication.
Proactive Monitoring: Review application logs for suspicious entries in the command argument of the run_tests tool, specifically looking for shell metacharacters such as semicolons, pipes, or backticks.
Compensating Controls: Deploy a Web Application Firewall or an API gateway to intercept and block incoming MCP JSON-RPC requests containing suspicious command strings or unexpected shell syntax.
Exploitation status
Public Exploit Available: Yes, a published proof-of-concept exists in the referenced security report (https://github.com/wing3e/public_exp/issues/38).
Analyst recommendation
Given the ease of exploitation and the severity of command injection, organizations currently utilizing GitPilot-MCP must prioritize the implementation of compensating controls. Since the vendor has not provided a security update, disabling the vulnerable functionality is the only reliable way to eliminate the risk of remote code execution until a secure version is released.
Sources
Originally found and disclosed by BigW (VulDB User), with VulDB CNA Team (coordinator), per the CVE Program record.