Skip to main content

nanobot CVE-2026-19245

| EUVDEUVD-2026-54676 LOW
Information Exposure (CWE-200)
2026-08-07 VulDB GHSA-hfxr-wggc-4cr6
1.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain local low-privilege access to nanobot host
  2. Delivery
    Invoke ExecTool.execute() shell command
  3. Exploit
    Login shell flag (-l) passed to bash/zsh
  4. Execution
    Startup files sourced, sensitive env vars re-exported
  5. Persist
    Read exposed credentials or API tokens from spawned process environment
  6. Impact
    Exfiltrate or reuse disclosed secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires (1) local non-remote access to the system where nanobot is installed, and (2) low-privilege authenticated access sufficient to invoke ExecTool.execute() or the nanobot shell execution API - anonymous or network-only attackers cannot exploit this. Under default configuration of nanobot up to 0.2.1, the vulnerability triggers automatically on any shell command execution without additional setup, because login=True is the hardcoded default. Exploitation is materially limited by: the mandatory local access requirement (AV:L) ruling out all remote attack paths; the low-privilege authentication requirement (PR:L) meaning at minimum a valid local account or equivalent API access is needed; and the impact boundary being restricted to environment variables surfaced by login-shell startup scripts - no arbitrary file read, code execution, or integrity impact is implied. The vulnerability is only meaningful if startup scripts on the target system export sensitive values (credentials, tokens) into the shell environment, which is common in developer workstations and CI environments but less universal in hardened production deployments.

Impact

The CVSS 4.0 base score of 1.9 with vector AV:L/AC:L/AT:N/PR:L/UI:N/VC:L accurately reflects the limited real-world risk of this vulnerability. Local access is mandatory (AV:L), which immediately eliminates remote exploitation scenarios. Low-privilege access is required (PR:L), meaning anonymous or network-only actors cannot exploit this. The confidentiality impact is bounded at Low (VC:L) - environment variable leakage rather than arbitrary file read or full credential extraction. EPSS data was not provided in the available intelligence sources, so exploitation probability cannot be quantified beyond the CVSS signal. No CISA KEV listing confirms this has not been observed in active exploitation campaigns. A publicly available POC exists on GitHub Gist, which elevates the feasibility of exploitation modestly for those who already meet the local access prerequisite. Overall, this is a genuine but low-priority vulnerability; risk is elevated only in shared multi-user environments where nanobot executes commands on behalf of users with differing privilege levels, or in containerized environments where startup-file-injected secrets might cross trust boundaries.

Exploit ScenarioDerived

A low-privilege local user on a system running nanobot up to 0.2.1 invokes shell commands through the agent framework's ExecTool.execute() API. Because _prepare_command defaults to login-shell mode, bash sources the system-wide /etc/profile and user-level ~/.bash_profile, which re-export environment variables - for example, OPENAI_API_KEY or database connection strings set by a higher-privilege service account. The attacker reads these variables from the shell environment of the spawned process, obtaining credentials without requiring elevated access. A publicly available proof-of-concept on GitHub Gist (https://gist.github.com/YLChen-007/b25f3f185478e0b2cd0e727bf5c5ed9b) demonstrates this behavior.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 07, 2026

Login-shell environment variable leakage in HKUDS nanobot up to 0.2.1 exposes sensitive environment variables to local low-privilege users during agent-driven shell command execution. The ExecTool._prepare_command function in shell.py defaulted to invoking bash/zsh with the -l (login shell) flag, causing system and user profile startup scripts to be sourced and potentially re-exporting credentials, API keys, or tokens into the execution environment where they could be read by the invoking user. A publicly available proof-of-concept exploit exists; no active exploitation has been confirmed (not listed in CISA KEV). The vendor-released fix in v0.3.0 changes the default from login-shell to non-login-shell execution.

RemediationAI

Upgrade nanobot to version 0.3.0 or later, confirmed released by the vendor at https://github.com/HKUDS/nanobot/releases/tag/v0.3.0 via PR #4525 (https://github.com/HKUDS/nanobot/pull/4525). The fix changes the default value of the login parameter from True to False across _prepare_command, _wrap_path_export, and the _PreparedCommand class descriptor, preventing automatic login-shell invocation. Note that any caller in custom integrations explicitly passing login=True will still trigger login-shell behavior and should be audited after upgrading. If immediate upgrade is not feasible, restrict nanobot shell execution access to fully trusted local users only, eliminating the privilege-separation condition that makes the disclosure meaningful. Additionally, audit shell startup files on affected systems to remove or guard any exported secrets - this mitigates impact even without patching, though it introduces maintenance overhead and does not address the root-cause default.

Affected VersionsENISA

nanobot 0.2.0
nanobot 0.2.1

Affected Packages

euvd nanobot no fix

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 an AI agent framework from the HKUDS research group (Hong Kong University of Science and Technology Data Science Lab) that provides shell command execution via the ExecTool class in nanobot/agent/tools/shell.py. The vulnerable _prepare_command function constructed shell invocations with login=True as the default, passing the -l flag to bash/zsh. Login shells source initialization files including /etc/profile, ~/.bash_profile, ~/.profile, and ~/.bashrc (via profile), which frequently set or re-export environment variables. In agent and multi-user contexts, these startup files may expose API keys, database credentials, or session tokens belonging to higher-privilege processes or other users. CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) describes this root cause: the framework inadvertently expanded the information available to command invocations beyond what was intended, purely due to a misconfigured default in the shell initialization pathway. The CPE cpe:2.3:a:hkuds:nanobot:*:*:*:*:*:*:*:* covers all affected versions through 0.2.1. The patch diff confirms three locations where login=True was changed to login=False as the default.

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

Vendor (VulDB) PRIMARY 1.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 3.3 LOW

Local access and low privilege are required to invoke nanobot shell execution; impact is limited to confidentiality of environment variables, with no integrity or availability effect.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Aug 07, 2026 - 21:22 NVD
MEDIUM LOW
CVSS changed
Aug 07, 2026 - 21:22 NVD
4.8 (MEDIUM) 1.9 (LOW)
CVE Published
Aug 07, 2026 - 20:45 cve.org
LOW 1.9

DescriptionCVE.org

A flaw has been found in HKUDS nanobot up to 0.2.1. The impacted element is the function ExecTool._prepare_command of the file nanobot/agent/tools/shell.py of the component Login-shell Environment Handler. Executing a manipulation can lead to information disclosure. The attack requires local access. The exploit has been published and may be used. Upgrading to version 0.3.0 is sufficient to resolve this issue. This patch is called 4525. The affected component should be upgraded. Multiple issues were reported to the project. They reacted with a high level of professionalism and kindness: "The report concerns shell startup files reintroducing environment variables when command execution defaults to a login shell. The default was changed so exec does not use a login shell unless explicitly requested".

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Rare
academic AI agent framework, niche research and developer footprint
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Low

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-35589 CRITICAL
9.3 Apr 14

Cross-Site WebSocket Hijacking in nanobot personal AI assistant (versions before 0.1.5) allows remote websites to establ

CVE-2026-33654 HIGH
8.9 Mar 27

Remote code execution in nanobot personal AI assistant (versions prior to 0.1.6) allows unauthenticated attackers to exe

CVE-2026-48716 HIGH
8.7 Jun 18

Arbitrary file write in HKUDS Nanobot's WhatsApp bridge (versions 0.1.5.post3 and prior) allows remote unauthenticated a

CVE-2026-49139 HIGH
7.0 Jun 01

Server-side request forgery in Nanobot (HKUDS) prior to 0.2.1 lets unauthenticated remote attackers exfiltrate Microsoft

CVE-2026-90809 MEDIUM
6.9 Sep 14

Argument injection in HKUDS nanobot's ExecTool shell execution guard allows remote unauthenticated attackers to bypass t

CVE-2026-19243 LOW POC
2.1 Aug 07

OS command injection in HKUDS nanobot 0.2.0 and 0.2.1 allows a low-privileged remote attacker to bypass the configured s

CVE-2026-19246 LOW POC
2.1 Aug 07

Server-side request forgery in HKUDS nanobot up to 0.2.1 allows authenticated remote attackers to make the server issue

CVE-2026-19244 LOW POC
2.0 Aug 07

MCP resource and prompt wrappers in HKUDS nanobot 0.2.0 and 0.2.1 bypass operator-defined `enabledTools` access restrict

CVE-2026-49140 MEDIUM
5.3 Jun 01

Nanobot's Matrix channel media download handler exhausts process memory and bandwidth when authenticated room members su

CVE-2026-49138 MEDIUM
5.3 Jun 01

Server-side request forgery in Nanobot's web_fetch tool prior to v0.2.1 allows authenticated remote attackers to probe a

CVE-2026-90808 MEDIUM
5.3 Sep 14

Shell command injection bypass in HKUDS nanobot 0.2.0-0.2.1 allows authenticated users to evade the ExecTool allow/deny

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy