CVE-2026-48716
HIGH
8.7
CVSS 3.1
Description
nanobot is a personal AI assistant. In versions 0.1.5.post3 and prior, the WhatsApp bridge in bridge/src/whatsapp.ts constructs a filesystem path using the fileName field from an incoming WhatsApp document message without sanitization. The WhatsApp bridge downloads media attachments and writes them to disk using a filename derived from the sender's message via documentMessage.fileName, which is concatenated with a prefix and its raw value is passed directly to path.join(mediaDir, outFilename). Node.js path.join resolves .. components, allowing an attacker to escape the intended media/ directory by sending a document with a crafted fileName such as ../../../.ssh/authorized_keys. Because the attacker also controls the file content (the downloaded buffer), this is a write-anywhere primitive — both path and content are attacker-controlled. A fix for this issue is planned for version 0.1.5.post4.
Metadata
Severity & Metrics
8.7
HIGH CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H
Affected products (1)
| Vendor | Product | Platform | Versions |
|---|---|---|---|
| HKUDS | nanobot | — | <= 0.1.5.post3 |
Weakness (CWE)
| CWE | Source | Description |
|---|---|---|
| CWE-22 | cna | CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') |
CVSS scores (1)
| Score | Severity | Version | Source | Vector |
|---|---|---|---|---|
| 8.7 | HIGH | 3.1 | cna | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:H |
References (1)
- https://github.com/HKUDS/nanobot/security/advisories/GHSA-3f63-vcp3-hvqr https://github.com/HKUDS/nanobot/security/advisories/GHSA-3f63-vcp3-hvqr