{"answers":{"affected":"2 open source packages ship an affected version, including openclaw. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-26329 in the wild and no public exploit code.","fix":"Upgrade openclaw to 2026.2.14 or later.","what":"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."},"fix_prompt":"Check this codebase for CVE-2026-26329 and fix it if it is affected.\n\nWhat 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.\nExploitation: There is no known exploitation of CVE-2026-26329 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- openclaw (npm): affected all versions; fixed in 2026.2.14\n- openclaw (npm): affected all versions; fixed in 2026.2.14\n\nTask:\n1. 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.\n2. 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.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-26329/ (Markdown: https://insights.sbomify.com/CVE-2026-26329/index.md)","id":"CVE-2026-26329","markdown":"https://insights.sbomify.com/CVE-2026-26329/index.md","name":"CVE-2026-26329","record":{"aliases":["GHSA-cv7m-c9jx-vg7q"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"AI assistant gateway","requires_auth":"low_privilege","summary":"Authenticated attackers can read arbitrary files on the host via path traversal in the browser upload feature of the OpenClaw AI assistant.","user_interaction":"not_required","vuln_class":"path_traversal"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"openclaw","vendor":"openclaw"}],"cvss":{"score":7.1,"severity":"high","source":"cna","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","version":"4.0"},"cwes":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory"}],"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.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"OpenClaw has a path traversal in browser upload allows local file read","id":"CVE-2026-26329","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":"openclaw:openclaw","products":["openclaw:openclaw"],"type":"path_traversal","year":"2026"},"n_packages":2,"n_references":3,"next":{"headline":"Envoy's global rate limit may crash when the response phase limit is enabled and the response phase request is failed directly","id":"CVE-2026-26330"},"packages":[{"ecosystem":"npm","fixed":["2026.2.14"],"introduced":["0"],"last_affected":[],"package":"openclaw","purl":null,"source":"GHSA-cv7m-c9jx-vg7q"},{"ecosystem":"npm","fixed":["2026.2.14"],"introduced":["0"],"last_affected":[],"package":"openclaw","purl":"pkg:npm/openclaw","source":"GHSA-cv7m-c9jx-vg7q"}],"prev":{"headline":"OpenClaw iMessage group allowlist authorization inherited DM pairing-store identities","id":"CVE-2026-26328"},"products":["openclaw"],"published":"2026-02-19","related":[{"cvss_score":9.9,"headline":"Security feature bypass in OpenClaw","id":"CVE-2026-28363","kev_date_added":null,"published":"2026-02-27"},{"cvss_score":9.8,"headline":"Code injection in n/a","id":"CVE-2026-30741","kev_date_added":null,"published":"2026-03-11"},{"cvss_score":9.4,"headline":"OpenClaw \u003c 2026.3.28 - Privilege Escalation via Missing Caller Scope Validation in Device Pair Approval","id":"CVE-2026-33579","kev_date_added":null,"published":"2026-03-31"},{"cvss_score":9.4,"headline":"OpenClaw \u003c 2026.3.11 - Privilege Escalation via Unvalidated Scope in device.token.rotate","id":"CVE-2026-32922","kev_date_added":null,"published":"2026-03-29"},{"cvss_score":9.4,"headline":"OpenClaw \u003c 2026.3.11 - Approval Bypass via Unrecognized Script Runners","id":"CVE-2026-32978","kev_date_added":null,"published":"2026-03-29"},{"cvss_score":9.4,"headline":"OpenClaw \u003c 2026.3.12 - Scope Elevation in WebSocket Shared-Auth Connections","id":"CVE-2026-22172","kev_date_added":null,"published":"2026-03-20"},{"cvss_score":9.4,"headline":"OpenClaw \u003c 2026.2.14 - Remote Code Execution via Node Invoke Approval Bypass","id":"CVE-2026-28466","kev_date_added":null,"published":"2026-03-05"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-02-20","vendors":["openclaw"]},"summary":"Authenticated attackers can read arbitrary files on the host via path traversal in the browser upload feature of the OpenClaw AI assistant.","url":"https://insights.sbomify.com/CVE-2026-26329/"}