{"id":"CVE-2026-27487","aliases":["EUVD-2026-7712","GHSA-4564-pvr2-qq4h"],"status":"published","title":"OpenClaw: Prevent shell injection in macOS keychain credential write","description":"OpenClaw is a personal AI assistant. In versions 2026.2.13 and below, when using macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via security add-generic-password -w .... Because OAuth tokens are user-controlled data, this created an OS command injection risk. This issue has been fixed in version 2026.2.14.","severity":{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.01368,"percentile":0.72273,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2026-02-18T17:39:00Z","modified":"2026-10-28T02:30:50Z","fixes":[{"ecosystem":"npm","package":"openclaw","fixed_in":["2026.2.14"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"openclaw","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2026.2.14"}]}]},{"source":"osv","ecosystem":"npm","package":"openclaw","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2026.2.14"}]}]}],"products":[{"vendor":"openclaw","product":"openclaw"}],"references":[{"url":"https://github.com/openclaw/openclaw/security/advisories/GHSA-4564-pvr2-qq4h","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory","web"]},{"url":"https://github.com/openclaw/openclaw/pull/15924","tags":["x_refsource_MISC","Issue Tracking","fix","web"]},{"url":"https://github.com/openclaw/openclaw/commit/66d7178f2d6f9d60abad35797f97f3e61389b70c","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/openclaw/openclaw/commit/9dce3d8bf83f13c067bc3c32291643d2f1f10a06","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/openclaw/openclaw/commit/b908388245764fb3586859f44d1dff5372b19caf","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/openclaw/openclaw/releases/tag/v2026.2.14","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27487","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4564-pvr2-qq4h"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27487.json","tags":["advisory"]},{"url":"https://github.com/openclaw/openclaw","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-27487","title":"OpenClaw: Prevent shell injection in macOS keychain credential write","description":"OpenClaw is a personal AI assistant. In versions 2026.2.13 and below, when using macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via security add-generic-password -w .... Because OAuth tokens are user-controlled data, this created an OS command injection risk. This issue has been fixed in version 2026.2.14.","status":"published","published":"2026-02-21T09:35:28.935Z","modified":"2026-02-24T18:21:54.882Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:19:49.199185Z"}],"euvd":[{"id":"EUVD-2026-7712","description":"OpenClaw is a personal AI assistant. In versions 2026.2.13 and below, when using macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via security add-generic-password -w .... Because OAuth tokens are user-controlled data, this created an OS command injection risk. This issue has been fixed in version 2026.2.14.","status":"published","published":"2026-02-21T09:35:28Z","modified":"2026-02-24T18:21:54Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"updated_at":"2026-11-02T19:48:29.958768Z"}],"ghsa":[{"id":"GHSA-4564-pvr2-qq4h","title":"OpenClaw: Prevent shell injection in macOS keychain credential write","description":"## Summary\nOn macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via `security add-generic-password -w ...`. Because OAuth tokens are user-controlled data, this created an OS command injection risk.\n\nThe fix avoids invoking a shell by using `execFileSync(\"security\", argv)` and passing the updated keychain payload as a literal argument.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Platform: macOS only\n- Affected versions: `\u003c= 2026.2.13`\n\n## Fix\n- Patched version: `\u003e= 2026.2.14` (next release)\n- Fix PR: #15924\n- Fix commits (merged to `main`):\n  - `9dce3d8bf83f13c067bc3c32291643d2f1f10a06`\n  - `66d7178f2d6f9d60abad35797f97f3e61389b70c`\n  - `b908388245764fb3586859f44d1dff5372b19caf`\n\nThanks @aether-ai-agent for reporting.","status":"published","published":"2026-02-18T17:39:00Z","modified":"2026-02-23T22:28:28Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:39:26.881079Z"}],"nvd":[{"id":"CVE-2026-27487","description":"OpenClaw is a personal AI assistant. In versions 2026.2.13 and below, when using macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via security add-generic-password -w .... Because OAuth tokens are user-controlled data, this created an OS command injection risk. This issue has been fixed in version 2026.2.14.","status":"published","published":"2026-02-21T10:16:13.1Z","modified":"2026-06-17T10:27:14.39Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high","assessor":"secondary"},{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:06.63895Z"}],"osv":[{"id":"CVE-2026-27487","title":"OpenClaw: Prevent shell injection in macOS keychain credential write","description":"OpenClaw is a personal AI assistant. In versions 2026.2.13 and below, when using macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via security add-generic-password -w .... Because OAuth tokens are user-controlled data, this created an OS command injection risk. This issue has been fixed in version 2026.2.14.","status":"published","published":"2026-02-21T09:35:28.935Z","modified":"2026-10-28T02:30:50.437716098Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:45:00.180685Z"},{"id":"GHSA-4564-pvr2-qq4h","title":"OpenClaw: Prevent shell injection in macOS keychain credential write","description":"## Summary\nOn macOS, the Claude CLI keychain credential refresh path constructed a shell command to write the updated JSON blob into Keychain via `security add-generic-password -w ...`. Because OAuth tokens are user-controlled data, this created an OS command injection risk.\n\nThe fix avoids invoking a shell by using `execFileSync(\"security\", argv)` and passing the updated keychain payload as a literal argument.\n\n## Affected Packages / Versions\n- Package: `openclaw` (npm)\n- Platform: macOS only\n- Affected versions: `\u003c= 2026.2.13`\n\n## Fix\n- Patched version: `\u003e= 2026.2.14` (next release)\n- Fix PR: #15924\n- Fix commits (merged to `main`):\n  - `9dce3d8bf83f13c067bc3c32291643d2f1f10a06`\n  - `66d7178f2d6f9d60abad35797f97f3e61389b70c`\n  - `b908388245764fb3586859f44d1dff5372b19caf`\n\nThanks @aether-ai-agent for reporting.","status":"published","published":"2026-02-18T17:39:00Z","modified":"2026-02-23T23:43:52.252158Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:46:36.434231Z"}]}}
