Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperator restricts MCP server via enabledTools allowlist
-
DeliveryConnect MCP server exposing resources/prompts
-
Exploitconnect_mcp_servers registers resources/prompts unconditionally
-
ExecutionRestricted capabilities available in tool registry
-
ImpactAttacker invokes unintended resource or prompt
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Access control enforcement
MITRE ATT&CK
1 technique across 1 tactic: Defense Evasion The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the operator has explicitly configured |
| Impact | The CVSS 4.0 score of 5.1 (AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P) characterizes this as medium severity with a public exploit. PR:H is the critical limiting factor: exploitation requires an attacker with high-privilege access - either operator-level control over the nanobot configuration or the ability to operate or influence a connected MCP server. The VC/VI/VA impacts are all Low, consistent with a scope-bypass that exposes restricted capabilities rather than enabling full system compromise. No EPSS score was provided in the input data, so probabilistic exploitation likelihood cannot be quantified. The absence of a CISA KEV listing further suggests this is not being broadly exploited opportunistically. Real-world risk is tightly scoped: deployments using the default |
| Exploit ScenarioDerived | An operator deploys nanobot with a connected external MCP server and configures |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 07, 2026
MCP resource and prompt wrappers in HKUDS nanobot 0.2.0 and 0.2.1 bypass operator-defined enabledTools access restrictions, allowing MCP servers to register capabilities beyond the intended scope. Operators who configure a specific tool allowlist to restrict what an MCP server can contribute to a nanobot agent find that resources and prompts from that server are registered unconditionally, exposing capabilities that were explicitly intended to be blocked. A public proof-of-concept exploit exists; this CVE is not in the CISA KEV catalog, so confirmed widespread active exploitation is not established.
RemediationAI
Upgrade to nanobot v0.3.0, which resolves the issue via pull request #4436 (https://github.com/HKUDS/nanobot/pull/4436) and is available at https://github.com/HKUDS/nanobot/releases/tag/v0.3.0. The patch gates resource and prompt registration behind the same allow_all_tools check already used for tools. If an immediate upgrade is not feasible, the compensating control is to revert enabledTools to the default wildcard value ['*'] and instead isolate untrusted MCP servers by removing them from the configuration entirely, rather than relying on the per-capability filter. The trade-off is that this approach is coarser: it removes the ability to use fine-grained tool allowlisting as a control, so the operator must accept either full access or no access for each connected MCP server. No workaround preserves the intended partial-restriction semantics without patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
nanobot is a Python-based AI agent framework developed by HKUDS that integrates with Model Context Protocol (MCP) servers. The affected function connect_mcp_servers in nanobot/agent/tools/mcp.py registers tools, resources, and prompts from connected MCP servers into a central tool registry. The enabledTools configuration field (defined in nanobot/config/schema.py) is designed as a per-tool allowlist: ['*'] registers all capabilities, [] blocks all, and a named list restricts to specific tools only. The root cause (CWE-284: Improper Access Control) is that the gating logic for the allow_all_tools flag was applied only to tool registration, while MCPResourceWrapper and MCPPromptWrapper objects were always iterated and registered unconditionally regardless of the operator's enabledTools setting. The PR diff confirms that pre-fix code called session.list_resources() and session.list_prompts() unconditionally; the fix wraps both blocks under if register_extras: (allow_all_tools). CPE cpe:2.3:a:hkuds:nanobot:*:*:*:*:*:*:*:* covers all versions up to and including 0.2.1.
Know when Nanobot 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:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Requires high-privilege MCP server control or operator-level access; low C/I from unintended capability registration; no availability impact from scope bypass.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was detected in HKUDS nanobot up to 0.2.1. The affected element is the function connect_mcp_servers of the file nanobot/agent/tools/mcp.py of the component MCP enabledTools Scope Handler. Performing a manipulation results in improper access controls. The attack is possible to be carried out remotely. The exploit is now public and may be used. Upgrading to version 0.3.0 is sufficient to fix this issue. The patch is named 4436. You should upgrade the affected component. Multiple issues were reported to the project. They reacted with a high level of professionalism and kindness: "Both reports describe the same root cause: MCP resource and prompt wrappers could be registered outside the intended enabledTools scope. The registration boundary was corrected".
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Cross-Site WebSocket Hijacking in nanobot personal AI assistant (versions before 0.1.5) allows remote websites to establ
Remote code execution in nanobot personal AI assistant (versions prior to 0.1.6) allows unauthenticated attackers to exe
Arbitrary file write in HKUDS Nanobot's WhatsApp bridge (versions 0.1.5.post3 and prior) allows remote unauthenticated a
Server-side request forgery in Nanobot (HKUDS) prior to 0.2.1 lets unauthenticated remote attackers exfiltrate Microsoft
Argument injection in HKUDS nanobot's ExecTool shell execution guard allows remote unauthenticated attackers to bypass t
OS command injection in HKUDS nanobot 0.2.0 and 0.2.1 allows a low-privileged remote attacker to bypass the configured s
Server-side request forgery in HKUDS nanobot up to 0.2.1 allows authenticated remote attackers to make the server issue
Login-shell environment variable leakage in HKUDS nanobot up to 0.2.1 exposes sensitive environment variables to local l
Nanobot's Matrix channel media download handler exhausts process memory and bandwidth when authenticated room members su
Server-side request forgery in Nanobot's web_fetch tool prior to v0.2.1 allows authenticated remote attackers to probe a
Shell command injection bypass in HKUDS nanobot 0.2.0-0.2.1 allows authenticated users to evade the ExecTool allow/deny
EUVD-2026-54652
GHSA-qwp6-wxvx-2jc8
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB