{"id":"CVE-2026-32846","kind":"vulnerability","aliases":["CVE-2026-32846","GHSA-hggm-x7r9-mm7v"],"related":[],"title":"OpenClaw is vulnerable to Path Traversal through path validation bypass","description":"OpenClaw through 2026.3.23 (fixed in commit 4797bbc) contains a path traversal vulnerability in media parsing that allows attackers to read arbitrary files by bypassing path validation in the isLikelyLocalPath() and isValidMedia() functions. Attackers can exploit incomplete validation and the allowBareFilename bypass to reference files outside the intended application sandbox, resulting in disclosure of sensitive information including system files, environment files, and SSH keys.","summary":"OpenClaw's media parsing checks file paths incompletely, so a crafted media reference can point outside the app sandbox. An attacker can read files such as system files, environment files and SSH keys.","severity":"high","cvss":8.7,"epss":0.007,"exploited":false,"exploited_at":null,"products":[{"name":"openclaw","fixed":["2026.3.28"],"affected":"<= 2026.3.23","ecosystem":"npm"},{"name":"openclaw","fixed":[],"affected":"<= 2026.3.23","ecosystem":"vendor"}],"ecosystems":["npm","vendor"],"tags":["ai-agents","ai-tooling","cwe-22","npm","openclaw"],"not_affected_if":["no-untrusted-media-input","version-2026.3.28-or-later"],"how_to_check":"- Check the installed version with `npm ls openclaw`; affected versions are `2026.3.23` and earlier.\n- Look for the `openclaw` package in `package.json` and lockfiles of any service that exposes OpenClaw media handling.","fix":"- `openclaw` (npm): move to `2026.3.28`","status":"open","published_at":"2026-03-26T17:16:37+00:00","first_seen_at":"2026-11-05T20:48:33+00:00","triaged_at":"2026-11-05T20:49:05+00:00","updated_at":"2026-11-05T21:10:30+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-11-05T20:49:05Z","model":"claude-haiku-5-5","output":{"fix":"- `openclaw` (npm): move to `2026.3.28`","reach":"unknown","title":"OpenClaw: path validation bypass lets attackers read arbitrary local files","impact":"high","summary":"OpenClaw's media parsing checks file paths incompletely, so a crafted media reference can point outside the app sandbox. An attacker can read files such as system files, environment files and SSH keys.","audience":"developers","category":"ai-tooling","nicknames":[],"who_cares":["openclaw","npm","ai-agents"],"confidence":0.7,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker reads system files, environment files and SSH keys","analyst_note":"","how_to_check":"- Check the installed version with `npm ls openclaw`; affected versions are `2026.3.23` and earlier.\n- Look for the `openclaw` package in `package.json` and lockfiles of any service that exposes OpenClaw media handling.","plain_action":"","needs_analyst":false,"not_affected_if":["version-2026.3.28-or-later","no-untrusted-media-input"],"who_is_affected":"Teams running OpenClaw at version 2026.3.23 or earlier, especially where it parses media references from untrusted input. The flaw is in the media path validation (isLikelyLocalPath and isValidMedia), so deployments that never process media from outside users are less exposed. Sources do not state whether authentication is required.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000705,"input_tokens":4378,"output_tokens":535,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,20A '-22':31B '-32846':13A,21A '2026.3.23':69C '4797bbc':73C 'agent':26B 'ai':25B,28B 'ai-ag':24B 'ai-tool':27B 'allow':83C 'allowbarefilenam':106C 'app':51B 'applic':114C 'arbitrari':87C 'attack':54B,84C,99C 'bypass':10A,90C,107C 'check':38B 'commit':72C 'contain':74C 'craft':44B 'cve':11A,19A 'cwe':30B 'disclosur':118C 'environ':62B,125C 'exploit':101C 'file':39B,57B,61B,63B,88C,110C,124C,126C 'fix':70C 'function':98C 'ghsa':15A 'ghsa-hggm-x7r9-mm7v':14A 'hggm':16A 'includ':122C 'incomplet':41B,102C 'inform':121C 'intend':113C 'islikelylocalpath':95C 'isvalidmedia':97C 'key':66B,129C 'media':36B,45B,80C 'mm7v':18A 'npm':32B 'openclaw':1A,22A,23A,33B,34B,67C 'outsid':49B,111C 'pars':37B,81C 'path':5A,8A,40B,76C,91C 'point':48B 'read':56B,86C 'refer':46B,109C 'result':116C 'sandbox':52B,115C 'sensit':120C 'ssh':65B,128C 'system':60B,123C 'tool':29B 'travers':6A,77C 'valid':9A,92C,103C 'vulner':3A,78C 'x7r9':17A","nicknames":[],"mitigations":[],"who_affected":"Teams running OpenClaw at version 2026.3.23 or earlier, especially where it parses media references from untrusted input. The flaw is in the media path validation (isLikelyLocalPath and isValidMedia), so deployments that never process media from outside users are less exposed. Sources do not state whether authentication is required.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["openclaw"],"ptokens":["openclaw"],"labels":["aiagents","aitooling","cwe22","high","npm","openclaw","vendor"],"campaign_type":null,"first_public_at":"2026-03-26T17:16:37+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-hggm-x7r9-mm7v","url":"https://github.com/advisories/GHSA-hggm-x7r9-mm7v","severity":"high","published_at":"2026-03-26T18:31:41+00:00","modified_at":"2026-11-05T20:48:29+00:00","first_seen_at":"2026-11-05T20:48:33+00:00","fetched_at":"2026-11-05T20:58:37+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-32846","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-32846","severity":null,"published_at":"2026-03-26T17:16:37+00:00","modified_at":"2026-10-08T16:17:13+00:00","first_seen_at":"2026-11-05T21:10:30+00:00","fetched_at":"2026-11-05T21:10:30+00:00","note":null}],"documents":[{"id":80075,"url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-f6pf-4gjx-c94r","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"},{"id":80076,"url":"https://github.com/openclaw/openclaw/pull/54642","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":80077,"url":"https://github.com/openclaw/openclaw/commit/4797bbc5b96e2cca5532e43b58915c051746fe37","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":80076,"url":"https://github.com/openclaw/openclaw/pull/54642","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":80113,"url":"https://www.vulncheck.com/advisories/openclaw-media-parsing-path-traversal-to-arbitrary-file-read","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"exploit_sources":[{"type":"epss","score":0.007,"url":"https://api.first.org/data/v1/epss?cve=CVE-2026-32846"}],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}