# CVE-2026-26329: OpenClaw has a path traversal in browser upload allows local file read

> Authenticated attackers can read arbitrary files on the host via path traversal in the browser upload feature of the OpenClaw AI assistant.

- **Severity:** High 7.1 (`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`)
- **Exploited in the wild:** Not known
- **Login needed:** Any signed-in user
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 19 Feb 2026
- **Updated:** 20 Feb 2026
- **Also known as:** GHSA-cv7m-c9jx-vg7q

## What is CVE-2026-26329?

CVE-2026-26329 is a high-severity path traversal vulnerability in Openclaw Openclaw, published on 19 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.

### Official description

OpenClaw is a personal AI assistant. Prior to version 2026.2.14, 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. 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); and 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. Starting in version 2026.2.14, the upload paths are now confined to OpenClaw's temp uploads root (`DEFAULT_UPLOAD_DIR`) and traversal/escape paths are rejected.

Weakness: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory)

## Which versions are affected by CVE-2026-26329?

2 open source packages ship an affected version, including openclaw. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `openclaw` | npm | All versions | 2026.2.14 |
| `openclaw` | npm | All versions | 2026.2.14 |

Products: Openclaw Openclaw.

## How do I fix CVE-2026-26329?

Upgrade openclaw to 2026.2.14 or later.

## Is CVE-2026-26329 being exploited?

There is no known exploitation of CVE-2026-26329 in the wild and no public exploit code.

## Other vulnerabilities in Openclaw Openclaw

- [CVE-2026-28363](https://insights.sbomify.com/CVE-2026-28363/): Security feature bypass in OpenClaw (critical 9.9)
- [CVE-2026-30741](https://insights.sbomify.com/CVE-2026-30741/): Code injection in n/a (critical 9.8)
- [CVE-2026-33579](https://insights.sbomify.com/CVE-2026-33579/): OpenClaw < 2026.3.28 - Privilege Escalation via Missing Caller Scope Validation in Device Pair Approval (critical 9.4)
- [CVE-2026-32922](https://insights.sbomify.com/CVE-2026-32922/): OpenClaw < 2026.3.11 - Privilege Escalation via Unvalidated Scope in device.token.rotate (critical 9.4)
- [CVE-2026-32978](https://insights.sbomify.com/CVE-2026-32978/): OpenClaw < 2026.3.11 - Approval Bypass via Unrecognized Script Runners (critical 9.4)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-26329 and fix it if it is affected.

What it is: CVE-2026-26329 is a high-severity path traversal vulnerability in Openclaw Openclaw, published on 19 Feb 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-26329 in the wild and no public exploit code.

Affected packages and fixed versions:
- openclaw (npm): affected all versions; fixed in 2026.2.14
- openclaw (npm): affected all versions; fixed in 2026.2.14

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-26329/ (Markdown: https://insights.sbomify.com/CVE-2026-26329/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-26329
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-26329
- OSV: https://osv.dev/vulnerability/CVE-2026-26329

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-26329/
Summaries are generated and may contain mistakes; the official description above is the record.
