{"id":"CVE-2026-25157","aliases":["EUVD-2026-5362","GHSA-q284-4pvr-m585"],"status":"published","title":"OpenClaw/Clawdbot has OS Command Injection via Project Root Path in sshNodeCommand","description":"OpenClaw is a personal AI assistant. Prior to version 2026.1.29, there is an OS command injection vulnerability via the Project Root Path in sshNodeCommand. The sshNodeCommand function constructed a shell script without properly escaping the user-supplied project path in an error message. When the cd command failed, the unescaped path was interpolated directly into an echo statement, allowing arbitrary command execution on the remote SSH host. The parseSSHTarget function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like -oProxyCommand=... would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution on the local machine. This issue has been patched in version 2026.1.29.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.01051,"percentile":0.64717,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2026-02-02T23:41:35Z","modified":"2026-10-28T02:31:07Z","fixes":[{"ecosystem":"npm","package":"clawdbot","fixed_in":["2026.1.29"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"clawdbot","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2026.1.29"}]}]},{"source":"osv","ecosystem":"npm","package":"clawdbot","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.1.29"}]}]}],"products":[{"vendor":"openclaw","product":"openclaw"}],"references":[{"url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-q284-4pvr-m585","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-25157","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-q284-4pvr-m585"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25157.json","tags":["advisory"]},{"url":"https://github.com/openclaw/openclaw","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-25157","title":"OpenClaw/Clawdbot has OS Command Injection via Project Root Path in sshNodeCommand","description":"OpenClaw is a personal AI assistant. Prior to version 2026.1.29, there is an OS command injection vulnerability via the Project Root Path in sshNodeCommand. The sshNodeCommand function constructed a shell script without properly escaping the user-supplied project path in an error message. When the cd command failed, the unescaped path was interpolated directly into an echo statement, allowing arbitrary command execution on the remote SSH host. The parseSSHTarget function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like -oProxyCommand=... would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution on the local machine. This issue has been patched in version 2026.1.29.","status":"published","published":"2026-02-04T19:55:38.493Z","modified":"2026-02-05T14:32:32.289Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T13:41:19.694734Z"}],"euvd":[{"id":"EUVD-2026-5362","description":"OpenClaw is a personal AI assistant. Prior to version 2026.1.29, there is an OS command injection vulnerability via the Project Root Path in sshNodeCommand. The sshNodeCommand function constructed a shell script without properly escaping the user-supplied project path in an error message. When the cd command failed, the unescaped path was interpolated directly into an echo statement, allowing arbitrary command execution on the remote SSH host. The parseSSHTarget function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like -oProxyCommand=... would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution on the local machine. This issue has been patched in version 2026.1.29.","status":"published","published":"2026-02-04T19:55:38Z","modified":"2026-02-05T14:32:32Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T19:48:43.720683Z"}],"ghsa":[{"id":"GHSA-q284-4pvr-m585","title":"OpenClaw/Clawdbot has OS Command Injection via Project Root Path in sshNodeCommand","description":"Two related vulnerabilities existed in the macOS application's SSH remote connection handling (`CommandResolver.swift`):\n\n## Details\n\nThe `sshNodeCommand` function constructed a shell script without properly escaping the user-supplied project path in an error message. When the `cd` command failed, the unescaped path was interpolated directly into an `echo` statement, allowing arbitrary command execution **on the remote SSH host**.\n\nThe `parseSSHTarget` function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like `-oProxyCommand=...` would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution **on the local machine**.\n\n## Impact\n\nAn attacker who can influence a user's remote connection settings (via social engineering or malicious configuration) could achieve arbitrary code execution on either the user's local machine or their configured remote SSH host, depending on which input vector is exploited.\n\n**Affected component:** macOS menubar application (Remote/SSH mode only)\n\n**Not affected:** CLI (`npm install openclaw`), web gateway, iOS/Android apps, or users running in Local mode.","status":"published","published":"2026-02-02T23:41:35Z","modified":"2026-02-04T21:56:26Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:39:22.637668Z"}],"nvd":[{"id":"CVE-2026-25157","description":"OpenClaw is a personal AI assistant. Prior to version 2026.1.29, there is an OS command injection vulnerability via the Project Root Path in sshNodeCommand. The sshNodeCommand function constructed a shell script without properly escaping the user-supplied project path in an error message. When the cd command failed, the unescaped path was interpolated directly into an echo statement, allowing arbitrary command execution on the remote SSH host. The parseSSHTarget function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like -oProxyCommand=... would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution on the local machine. This issue has been patched in version 2026.1.29.","status":"published","published":"2026-02-04T20:16:06.577Z","modified":"2026-06-17T10:24:12.537Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:05.149641Z"}],"osv":[{"id":"CVE-2026-25157","title":"OpenClaw/Clawdbot has OS Command Injection via Project Root Path in sshNodeCommand","description":"OpenClaw is a personal AI assistant. Prior to version 2026.1.29, there is an OS command injection vulnerability via the Project Root Path in sshNodeCommand. The sshNodeCommand function constructed a shell script without properly escaping the user-supplied project path in an error message. When the cd command failed, the unescaped path was interpolated directly into an echo statement, allowing arbitrary command execution on the remote SSH host. The parseSSHTarget function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like -oProxyCommand=... would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution on the local machine. This issue has been patched in version 2026.1.29.","status":"published","published":"2026-02-04T19:55:38.493Z","modified":"2026-10-28T02:31:07.562707858Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:44:59.438965Z"},{"id":"GHSA-q284-4pvr-m585","title":"OpenClaw/Clawdbot has OS Command Injection via Project Root Path in sshNodeCommand","description":"Two related vulnerabilities existed in the macOS application's SSH remote connection handling (`CommandResolver.swift`):\n\n## Details\n\nThe `sshNodeCommand` function constructed a shell script without properly escaping the user-supplied project path in an error message. When the `cd` command failed, the unescaped path was interpolated directly into an `echo` statement, allowing arbitrary command execution **on the remote SSH host**.\n\nThe `parseSSHTarget` function did not validate that SSH target strings could not begin with a dash. An attacker-supplied target like `-oProxyCommand=...` would be interpreted as an SSH configuration flag rather than a hostname, allowing arbitrary command execution **on the local machine**.\n\n## Impact\n\nAn attacker who can influence a user's remote connection settings (via social engineering or malicious configuration) could achieve arbitrary code execution on either the user's local machine or their configured remote SSH host, depending on which input vector is exploited.\n\n**Affected component:** macOS menubar application (Remote/SSH mode only)\n\n**Not affected:** CLI (`npm install openclaw`), web gateway, iOS/Android apps, or users running in Local mode.","status":"published","published":"2026-02-02T23:41:35Z","modified":"2026-02-04T23:35:45.254642Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:53.700556Z"}]}}
