Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInvoke scan_vulnerabilities MCP tool
-
ExploitPass blocked NSE category parameter
-
ExecutionBypass permissive allowlist validation
-
ImpactRun intrusive/DoS/exploit scripts on target
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Strict input allowlisting
|
| Exploitation Conditions | The attacker must be able to invoke the scan_vulnerabilities tool on the nmap-mcp server - either as an MCP client or via an agent that has been prompt-injected - and supply the NSE script category argument; the flaw is that the allowlist validation in scan_vulnerabilities does not reject the blocked categories exploit, dos, brute, and intrusive, so those are passed through to nmap --script. Limiting factors: exploitation is local to the MCP deployment (AV:L) and requires the privilege of calling the tool (PR:L), not remote unauthenticated access; the vulnerable host itself is not compromised, and the integrity/availability impact falls on whatever scan targets the server is pointed at, so realistic harm depends on the server being used to scan systems the attacker wants to disrupt or brute-force. |
| Impact | This is a medium-severity guardrail-bypass issue, and the signals are consistent in pointing to limited real-world urgency rather than a high-priority emergency. The supplied CVSS 4.0 base score is 4.8 (medium) with AV:L/AC:L/AT:N/PR:L/UI:N, meaning exploitation is local, low-complexity, and requires some privilege (the ability to invoke the MCP tool); there is no impact on the vulnerable host itself (VC:N/VI:N/VA:N) and only low integrity/availability impact on subsequent systems (SI:L/SA:L), i.e. the scan targets. The vuln.today decision label is 'this_month' - not act_now or emergency - which aligns with the modest technical impact. There is no CISA KEV listing (so no confirmed active exploitation) and no EPSS score was provided in the input, so exploitation probability cannot be quantified from available data. No confirmed working exploit code is present; the references are a VulnCheck advisory, the project repository, a GitHub issue, and the exact vulnerable code lines, which document the flaw but are not verified exploit code. The realistic concern is that this tool is explicitly designed to be driven by LLM agents, so a prompt-injected agent could flip the tool into running intrusive/DoS/brute-force/exploit NSE scripts; however, the harm lands on scan targets rather than the MCP host, and the attacker already needs the ability to call the tool. Net: a legitimate but non-urgent correctness/safety defect, not a high-CVSS-but-overrated issue nor a drop-everything priority. Missing EPSS data is the main gap. |
| Exploit ScenarioDerived | An MCP client or a prompt-injected agent connected to nmap-mcp calls the scan_vulnerabilities tool and supplies an NSE script category such as 'exploit', 'dos', 'brute', or 'intrusive', which the permissive allowlist fails to reject. nmap is then invoked with --script for those categories, running intrusive, brute-force, exploit, or denial-of-service scripts against the scan target. No public exploit identified at time of analysis, though the VulnCheck advisory and GitHub issue pinpoint the vulnerable validation logic. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Vorota-ai's nmap-mcp MCP server does not enforce its own NSE script-category blocklist in the scan_vulnerabilities tool, so callers can pass categories such as exploit, dos, brute, or intrusive straight through to nmap --script. Anyone able to invoke that tool on the deployment, whether a legitimate MCP client or an agent steered by prompt injection, can therefore turn an ordinary scan into intrusive probing, brute-force attempts, or denial-of-service script runs against whatever targets the server is pointed at. The flaw is rated 4.8 (CVSS 4.0, AV:L/PR:L, with scope change and low integrity/availability impact on downstream systems), no public exploit code and no CISA KEV entry were identified at time of analysis, and the vulnerable host itself is not compromised; harm depends on the server being aimed at systems an attacker wants to disrupt.
RemediationAI
No vendor-released patch version was identified at time of analysis; the fix is tracked in the upstream issue at https://github.com/Vorota-ai/nmap-mcp/issues/3 and the code location is nmap_mcp/server.py lines 440-446, so deploying a build that actually rejects the exploit, dos, brute, and intrusive categories before invoking nmap --script is the complete fix, and the VulnCheck advisory (https://www.vulncheck.com/advisories/nmap-mcp-through-commit-3636afa-permissive-nse-script-allowlist-in-scan-vulnerabilities) should be checked for a corrected commit. Until such a build is deployed, the practical control is to remove or gate the scan_vulnerabilities tool so that untrusted MCP clients and prompt-injectable agents cannot reach it at all - the trade-off is loss of vulnerability-scanning functionality for those callers, so expose it only to trusted, tightly scoped clients. Additionally, restrict the network reachability of the nmap-mcp host so it can only resolve and connect to the specific targets it is meant to scan; this limits the blast radius of any intrusive, brute-force, or denial-of-service script run but does not repair the allowlist bypass and requires maintaining target ACLs. Because the vulnerable server itself is not compromised and the impact falls on scan targets, no host-level compromise response is implied, but audit logs of scan_vulnerabilities invocations should be reviewed for category arguments that bypassed the blocklist.
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
nmap-mcp is an MCP (Model Context Protocol) server that exposes Nmap scanning to AI agents and other MCP clients as callable tools. Its scan_vulnerabilities tool forwards a user-supplied NSE script category to the underlying Nmap invocation as nmap --script, and the code at server.py lines 440-446 (commit 3636afa6ad4e159c7ad07ca35ede644f37db9c5e) is intended to block the dangerous NSE categories exploit, dos, brute, and intrusive. Because that check is a permissive allowlist validation failure (CWE-183), the blocked categories are not reliably rejected and reach Nmap, which then loads the corresponding NSE scripts. This is a guardrail bypass rather than memory corruption: the vulnerable process is not itself exploited, and the integrity and availability impact lands on the scan targets, which is why the vector shows a scope change with SI:L/SA:L but no impact on the vulnerable component. Exploitation requires the ability to call the scan_vulnerabilities tool (PR:L, AV:L) - either as a direct MCP client or through an agent that has been prompt-injected into supplying the category argument. The exact parsing and validation path beyond the absence of an effective blocklist is not described in the available sources.
Know when Nmap Mcp 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:N/VI:N/VA:N/SC:N/SI:L/SA:L
Requires low-privilege ability to call the MCP tool locally (AV:L/PR:L/AC:L); impact lands on scan targets not the host, hence scope change (S:C) with low integrity/availability and no confidentiality impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Vorota-ai nmap-mcp through commit 3636afa contains an improper allowlist validation vulnerability in the scan_vulnerabilities tool that lets callers run blocked NSE script categories. MCP clients or prompt-injected agents can pass categories like exploit, dos, brute, or intrusive to nmap --script, running intrusive, brute-force, exploit, or denial-of-service scripts against scan targets.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
EUVD-2026-110848
GHSA-65g8-vjqh-r7qc
NVD
CVE.org
EPSS
Exploit-DB