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

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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
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
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

5
Source Code Evidence Fetched
Aug 07, 2026 - 21:38 vuln.today
Analysis Generated
Aug 07, 2026 - 21:38 vuln.today
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".

AnalysisAI

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.

Technical ContextAI

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.

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.

Share

CVE-2026-19245 vulnerability details – vuln.today

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