CVE-2026-26329
OpenClaw has a path traversal in browser upload allows local file read
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 7.1
OpenClaw has a path traversal in browser upload allows local file read
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.
- Record
CVE-2026-26329- CVSS 4.0
- 7.1 High
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 - Weakness
- CWE-22
- Updated
- 2026-11-02
EUVDEUVD-2026-8421 7.1
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.
- Record
EUVD-2026-8421- CVSS 4.0
- 7.1 High
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 - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-cv7m-c9jx-vg7q 7.1
OpenClaw has a path traversal in browser upload allows local file read
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
browsertool 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(includes latest published2026.2.13) - Patched:
>= 2026.2.14(planned next release)
Details
Entry points:
POST /tools/invokewith{"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 <input type="file">. 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.
- Record
GHSA-cv7m-c9jx-vg7q- CVSS 4.0
- 7.1 High
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 - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD 7.1
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.
- Record
CVE-2026-26329- CVSS 4.0
- 7.1 High
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/E:X/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 - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-22
- Updated
- 2026-11-02
OSV 7.1
OpenClaw has a path traversal in browser upload allows local file read
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.
- Record
CVE-2026-26329- CVSS 4.0
- 7.1 High
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 - Weakness
- CWE-22
- Updated
- 2026-11-02
OSVGHSA-cv7m-c9jx-vg7q 7.1
OpenClaw has a path traversal in browser upload allows local file read
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
browsertool 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(includes latest published2026.2.13) - Patched:
>= 2026.2.14(planned next release)
Details
Entry points:
POST /tools/invokewith{"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 <input type="file">. 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.
- Record
GHSA-cv7m-c9jx-vg7q- CVSS 4.0
- 7.1 High
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 - Weakness
- CWE-22
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
openclawnpm | before 2026.2.14 | 2026.2.14 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-26329 is a high vulnerability (CVSS 7.1) in Openclaw, published February 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.46%, the 40th percentile. Fixed in openclaw 2026.2.14.
References
github.com/openclaw/openclaw/security/advisories/GHSA-cv7m-c9jx-vg7q
github.com/openclaw/openclaw/commit/3aa94afcfd12104c683c9cad81faf434d0dadf87
github.com/openclaw/openclaw/releases/tag/v2026.2.14
nvd.nist.gov/vuln/detail/CVE-2026-26329
github.com/advisories/GHSA-cv7m-c9jx-vg7q
github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26329.json
github.com/openclaw/openclaw