GitHub Advisoryadvisory · npm
GHSA-cv7m-c9jx-vg7q OpenClaw has a path traversal in browser upload allows local file read
HIGH
Official page ↗
- Aliases
- CVE-2026-26329
- Ecosystem
- npm
- Packages
- openclaw
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-22
- Reviewed
- 2026-02-18
Affected packages
• npm openclaw: < 2026.2.14 → fixed in 2026.2.14
Description
Summary
Authenticated attackers can read arbitrary files from the Gateway host by supplying absolute paths or path traversal sequences to the browser tool's `upload` action. The server passed these paths to Playwright's `setInputFiles()` APIs without restricting them to a safe root.
Severity remains High due to the impact (arbitrary local file read on the Gateway host), even though exploitation requires authenticated access.
Exploitability / Preconditions
This is not a "drive-by" issue.
An attacker must:
• Reach the Gateway HTTP surface (or otherwise invoke the same browser control hook endpoints).
• Present valid Gateway auth (bearer token / password), as required by the Gateway configuration.
• In common default setups, the Gateway binds to loopback and the onboarding wizard generates a gateway token even for loopback.
• Have the `browser` tool permitted by tool policy for the target session/context (and have browser support enabled).
If an operator exposes the Gateway beyond loopback (LAN/tailnet/custom bind, reverse proxy, tunnels, etc.), the impact increases accordingly.
Affected Packages / Versions
• Package: `openclaw` (npm)
• Vulnerable: `= 2026.2.14` (planned next release)
Details
Entry points:
• `POST /tools/invoke` with `{"tool":"browser","action":"upload",...}`
• `POST /hooks/file-chooser` (browser control hook)
When the upload paths are not validated, Playwright reads the referenced files from the local filesystem and attaches them to a page-level ``. Contents can then be exfiltrated by page JavaScript (e.g. via `FileReader`) or via agent/browser snapshots.
Impact: arbitrary local file read on the Gateway host (confidentiality impact).
Fix
Upload paths are now confined to OpenClaw's temp uploads root (`DEFAULT_UPLOAD_DIR`) and traversal/escape paths are rejected.
This fix was implemented internally; the reporter provided a clear reproduction and impact analysis.
Fix commit(s):
• 3aa94afcfd12104c683c9cad81faf434d0dadf87
Thanks @p80n-sec for reporting.
Related
Alias · CVE (1)
- CVE-2026-26329 OpenClaw is a personal AI assistant. vulnerability
Weakness · CWE (1)
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
References
- https://github.com/openclaw/openclaw/security/advisories/GHSA-cv7m-c9jx-vg7q web
- https://nvd.nist.gov/vuln/detail/CVE-2026-26329 advisory
- https://github.com/openclaw/openclaw/commit/3aa94afcfd12104c683c9cad81faf434d0dadf87 web
- https://github.com/openclaw/openclaw package
- https://github.com/openclaw/openclaw/releases/tag/v2026.2.14 web