NanobotApplication

CVE-2026-33654

CRITICAL · 9.8 CVSS v3.1 Published 2026-03-27
Fix available
A fix is available. Upgrade to 0.1.4 or later.
See remediation →
100/100
Remediation priority · Urgent
Public exploit Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
nanobot is a personal AI assistant. Prior to version 0.1.6, an indirect prompt injection vulnerability exists in the email channel processing module (`nanobot/channels/email.py`), allowing a remote, unauthenticated attacker to execute arbitrary LLM instructions (and subsequently, system tools) without any interaction from the bot owner. By sending an email containing malicious prompts to the bot's monitored email address, the bot automatically polls, ingests, and processes the email content as highly trusted input, fully bypassing channel isolation and resulting in a stealthy, zero-click attack. Version 0.1.6 patches the issue.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

An indirect prompt injection vulnerability exists in nanobot's email channel processing module (nanobot/channels/email.py). The module ingests incoming email content and processes it as highly trusted input without sanitization, allowing remote unauthenticated attackers to embed malicious LLM instructions in emails that get automatically executed. This bypasses channel isolation entirely, enabling zero-click execution of arbitrary system tools.

MitigationUpdate to version 0.1.6. Additionally, implement input validation and content sanitization for all external inputs in the email channel, treating email content as untrusted user input rather than privileged system instructions.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
NanobotApplication
Affected:< 0.1.4= 0.1.4

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Check installed nanobot version
    Run 'pip show nanobot' or check your package manager for the installed version number
    Affected if Version is 0.1.4 or lower (< 0.1.4 or = 0.1.4)
  2. Locate the email channel configuration
    Search for nanobot/channels/email.py in your installation directory or codebase
    Affected if The email.py module exists and is present in your deployment
  3. Verify email processing is enabled
    Check nanobot configuration files (config.yaml, config.json, or .env) for email channel settings such as 'email_enabled', 'imap_poll', or similar flags that activate email processing
    Affected if Email channel processing is configured as active or enabled
  4. Inspect email input handling in the code
    Open nanobot/channels/email.py and look for how incoming email content is passed to the LLM - check if there is any sanitization, validation, or filtering of email body/subject before processing
    Affected if Email content is passed directly to the LLM without sanitization or input validation routines
  5. Check for channel isolation implementation
    Look in the codebase for any channel isolation, input validation, or prompt injection mitigation logic applied specifically to email-sourced content
    Affected if No channel-specific input sanitization or isolation controls exist for email content

You are affected if you are running nanobot version 0.1.4 or lower AND have the email channel enabled, with email content being processed without sanitization or channel isolation.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Upgrade available Upgrade to 0.1.4 or later
Fixed in 0.1.4
Interim mitigation

Update to version 0.1.6. Additionally, implement input validation and content sanitization for all external inputs in the email channel, treating email content as untrusted user input rather than privileged system instructions.

Recommended fix High confidence

0.1.6

  1. Upgrade nanobot to version 0.1.6 or later to resolve the indirect prompt injection vulnerability in the email channel processing module.
  2. If using a package manager (e.g., pip), run: pip install nanobot>=0.1.6 or pip install --upgrade nanobot
  3. After upgrading, verify the email.py module has been updated to version 0.1.6
  4. Restart the nanobot service to load the patched version
  5. Review email channel configuration to ensure proper input sanitization is in place (the patched version should handle this automatically)

Generated from the published advisory — verify against the referenced sources before acting.

Fix this in Nanobot Scoped from the published advisory
  • Consultation4.0 h
  • Implementation8.0 h
  • Testing4.0 h
  • Review / QA2.0 h
18.0 hours of engineering $3,200
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $5,120.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-33654 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-33654 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data