GHSA-xwjm-j929-xq7c

Suggest an improvement
Source
https://github.com/advisories/GHSA-xwjm-j929-xq7c
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-xwjm-j929-xq7c/GHSA-xwjm-j929-xq7c.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-xwjm-j929-xq7c
Aliases
Published
2026-02-18T17:37:52Z
Modified
2026-02-20T16:55:56Z
Severity
  • 6.7 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
OpenClaw has a Path Traversal in Browser Download Functionality
Details

Summary

OpenClaw browser download helpers accepted an unsanitized output path. When invoked via the browser control gateway routes, this allowed path traversal to write downloads outside the intended OpenClaw temp downloads directory.

This issue is not exposed via the AI agent tool schema (no download action). Exploitation requires authenticated CLI access or an authenticated gateway RPC token.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Affected: >=2026.1.12, <=2026.2.12
  • Fixed: >=2026.2.13

Details

Affected code: src/browser/pw-tools-core.downloads.ts (waitForDownloadViaPlaywright, downloadViaPlaywright).

Fixed entrypoints (as of 2026.2.13):

  • Gateway browser control routes /wait/download and /download now restrict path to DEFAULT_DOWNLOAD_DIR via resolvePathWithinRoot.

Fix Commit(s)

  • 7f0489e4731c8d965d78d6eac4a60312e46a9426

Mitigation

Upgrade to openclaw >=2026.2.13.

Thanks @locus-x64 for reporting.

Database specific
{
    "cwe_ids":  [
        "CWE-22"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-02-18T17:37:52Z",
    "nvd_published_at":  "2026-02-20T00:16:16Z",
    "severity":  "MODERATE"
}
References

Affected packages

npm / openclaw

Package

Affected ranges

Type
SEMVER
Events
Introduced
2026.1.12
Fixed
2026.2.13

Database specific

last_known_affected_version_range
"<= 2026.2.12"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/02/GHSA-xwjm-j929-xq7c/GHSA-xwjm-j929-xq7c.json"