Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to Kali-GPT MCP server as client
-
DeliverySupply scanner parameter with shell metacharacters
-
Exploitexecute_tool() builds command string
-
Executionsubprocess.run runs it with shell=True
-
ImpactArbitrary commands executed as MCP server user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an active Kali-GPT MCP server and the ability to act as an MCP client invoking its scanner tools - or an AI agent connected to that server that can be prompt-injected into supplying crafted parameters. The concrete trigger is attacker control over any of the scanner parameters target, ports, domain, wordlist, or url, which execute_tool() passes to subprocess.run with shell=True unsanitized; embedding shell metacharacters (e.g. ;, |, $(), backticks) in any of these achieves command execution as the MCP server user. Limiting factors: the CVSS vector indicates a local attack vector (AV:L) and low-privilege access (PR:L), so the attacker must already be able to reach/drive the MCP server rather than exploit it as an anonymous remote host; impact is bounded by the privileges of the MCP server process. If the MCP server is deployed with network transport, the exposure would be broader than AV:L implies. |
| Impact | The CVSS 4.0 base score of 8.5 reflects full compromise impact (VC:H/VI:H/VA:H) with low attack complexity and no user interaction, but the vector qualifies it heavily: AV:L and PR:L mean an attacker must already be a connected MCP client (or an LLM agent reachable by the MCP server), not an arbitrary internet host. This is command injection via subprocess.run(shell=True) on unsanitized scanner parameters, so successful exploitation yields arbitrary command execution as the MCP server user - i.e. whatever privileges the Kali-GPT process holds. EPSS is not provided in the input, so exploitation probability cannot be quantified. The vulnerability is NOT in CISA KEV and there is no confirmed working public exploit, though VulnCheck published an advisory and a GitHub issue (#12) documents the flaw, so it is well-characterized publicly. The vuln.today decision label is 'this_week' - treat as a near-term patch priority, not an emergency. Net assessment: a genuinely trivial-to-exploit, high-impact flaw for anyone with MCP client access, but real-world risk is tempered by a rare, hobby-scale deployment footprint and local attack vector. One signal to verify: the CVSS vector states AV:L, yet MCP servers can be configured with network transport (SSE/HTTP) rather than local stdio - if exposed over the network the effective attack vector could be remote, so confirm the deployment's MCP transport. The prompt-injection angle also lowers the practical bar: an agent processing attacker-controlled content could be coerced into supplying malicious scanner parameters. |
| Exploit ScenarioDerived | An attacker acting as an MCP client (or indirectly, a prompt-injected AI agent driving the Kali-GPT MCP server) invokes a scanner tool and embeds shell metacharacters in a parameter such as target, ports, domain, wordlist, or url. Because execute_tool() passes these values into subprocess.run with shell=True without sanitization, the injected commands execute as the MCP server user. No public working exploit is confirmed, but the trigger and vulnerable code path are fully documented in the VulnCheck advisory and source reference. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
OS command injection in Kali-GPT's MCP server (execute_tool() in kali_gpt/tools/mcp_server.py) allows any party able to act as an MCP client - including an AI agent that has been prompt-injected - to run arbitrary shell commands as the MCP server's user by embedding shell metacharacters in scanner parameters such as target, ports, domain, wordlist, or url. All code through commit a608c74e99910232dd208fee99de860458672b82 is affected; the vendor has published no fixed version, and a GitHub issue (#12) is the only upstream tracking reference. CVSS 4.0 scores it 8.5 (assessed CVSS 3.1: AV:L/AC:L/PR:L/UI:N, C/I/A High), reflecting full confidentiality, integrity and availability impact but requiring the attacker to already reach or drive the MCP server rather than attack it anonymously from the internet; no public exploit code and no CISA KEV entry were identified at time of analysis, and the vulnerability is prioritized as a this-week item.
RemediationAI
No vendor-released patch or fixed version was identified at time of analysis; remediation currently depends on code-level correction or deployment hardening. The complete fix is to stop passing scanner parameters through a shell: replace subprocess.run(..., shell=True) in execute_tool() with an argument-list invocation (shell=False), and validate each of target, ports, domain, wordlist and url against a strict allowlist pattern, rejecting shell metacharacters - monitor https://github.com/alishahid74/kali-gpt/issues/12 and the VulnCheck advisory (https://www.vulncheck.com/advisories/kali-gpt-through-commit-a608c74-os-command-injection-via-mcp-scanner-tool-parameters) for the upstream commit and pin to it once released. Until then, restrict who can be an MCP client: bind the MCP server to localhost or place it behind an authenticated proxy so only trusted clients and agents can invoke scanner tools, with the trade-off that legitimate remote agents lose direct access and need a broker. Run the MCP server as a dedicated low-privilege account inside a container with a read-only filesystem and dropped capabilities, and limit the tools it can reach, which reduces post-exploitation impact but does not prevent the injection itself. Treat any LLM agent connected to this server as an untrusted input channel - do not feed it attacker-influenced content and require human confirmation of scanner parameters where feasible - since prompt injection is the most likely delivery vector. A wrapper that rejects shell metacharacters before they reach execute_tool() is a lower-confidence stopgap, as shell parsing edge cases can bypass pattern filters.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Kali-GPT wraps penetration-testing tooling behind a Model Context Protocol (MCP) server so that LLM agents and other MCP clients can invoke scanner functions. The root cause is CWE-78 (Improper Neutralization of Special Elements used in an OS Command): execute_tool() (lines 229-356 of kali_gpt/tools/mcp_server.py at commit a608c74) takes client-supplied scanner parameters - target, ports, domain, wordlist, url - and interpolates them into a command string handed to subprocess.run with shell=True, so any shell metacharacter (;, |, $(), backticks) in a parameter is interpreted by the shell instead of being passed as a literal argument. Because the MCP client controls the parameter values, the injection surface is any connected client or an agent whose reasoning can be steered by untrusted content it processes (prompt injection), making the flaw an indirect path from model input to host command execution. The assessed vector (AV:L/PR:L) indicates the attacker must already be able to act as an MCP client, and the blast radius is bounded by the privileges of the MCP server process; deployments that expose the MCP server over a network transport would be more broadly reachable than AV:L suggests. The exact mechanics by which an individual scanner tool builds its command line are not described beyond the shared execute_tool() path in the available sources.
Know when Kali Gpt gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
MCP client access to a typically local server gives AV:L/PR:L with no user interaction; unsanitized shell=True injection yields full C/I/A on the host, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Kali-GPT through commit a608c74 contains an OS command injection vulnerability in execute_tool() in kali_gpt/tools/mcp_server.py that allows MCP clients to run commands via unsanitized scanner parameters. Attackers or prompt-injected agents can embed shell metacharacters in parameters like target, ports, domain, wordlist, or url, executed via subprocess.run with shell=True as the MCP server user.
Executive ViewAI
CVE-2026-117569 is a high-severity OS command injection flaw in Kali-GPT's MCP server, affecting all versions and enabling attackers with MCP client access (including compromised AI agents) to execute arbitrary shell commands under the server's privileges. This puts sensitive scanner data and system integrity at risk, potentially disrupting operations and exposing confidential information. Leadership should prioritize remediation this week due to the lack of a patch and the elevated risk from AI-driven attack surfaces.
No vendor-released patch identified at time of analysis. Interim mitigations include network segmentation and firewalling to limit MCP client access, running the MCP server with least-privilege user permissions, deploying an application-layer proxy to validate and sanitize inputs for shell metacharacters (e.g., ;, |, &, $), and monitoring for anomalous command executions.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-110847
GHSA-qqg8-6hv5-w2xr
NVD
CVE.org
EPSS
Exploit-DB