| Advisory ID | github_osv/GHSA-h3rm-6x7g-882f |
| Aliases |
CVE-2026-29608
|
| Summary | OpenClaw's Node system.run approval hardening wrapper semantic drift can execute unintended local scripts ### Summary In `openclaw@2026.3.1`, node `system.run` approval-path hardening rewrote wrapper command argv in a way that changed execution semantics. A command shown/approved as a shell payload (for example `echo SAFE`) could execute a different local script when wrapper argv were rewritten. ### Affected Packages / Versions - Package: `openclaw` (npm) - Affected: `2026.3.1` (latest published npm version as of March 2, 2026) - Fixed release: `2026.3.2` (released) ### Technical Details Root cause was in node-host approval hardening for `system.run`: - `src/node-host/invoke-system-run-plan.ts` rewrote `argv[0]` to the resolved executable. - Wrapper resolution unwrapped dispatch wrappers, so input like `['env','sh','-c','echo SAFE']` resolved executable `sh`. - The approved plan could become `['/bin/sh','sh','-c','echo SAFE']` while approval text remained `echo SAFE`. That rewrite changed runtime behavior: `/bin/sh` interprets the extra `sh` positional argument as a script path, enabling execution of a local `./sh` file from approved `cwd` instead of the approved payload text. ### Impact Approval-integrity break in `host=node` execution flow: operator-visible command text and executed behavior could diverge. Exploit preconditions: - attacker can influence wrapper argv and place a local file in approved working directory, - operator grants approval for the displayed command. ### Fix Commit(s) - `dded569626b0d8e7bdab10b5e7528b6caf73a0f1` ### Fixed Version - Patched in `openclaw@2026.3.2`. |
| Status | Published |
| Exploitability | 0.5 |
| Weighted Severity | 6.0 |
| Risk | 3.0 |
| Affected and Fixed Packages | Package Details |
| Introduced and Fixed Package Commit Patches | Package Commit Patches Details |
| System | Score | Found at |
|---|---|---|
| cvssv3.1 | 6.7 | https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-h3rm-6x7g-882f/GHSA-h3rm-6x7g-882f.json |
| generic_textual | MODERATE |
| Reference id | Reference type | URL |
|---|---|---|
| https://github.com/openclaw/openclaw | ||
| CVE-2026-29608 | https://nvd.nist.gov/vuln/detail/CVE-2026-29608 | |
| dded569626b0d8e7bdab10b5e7528b6caf73a0f1 | Other | https://github.com/openclaw/openclaw/commit/dded569626b0d8e7bdab10b5e7528b6caf73a0f1 |
| GHSA-h3rm-6x7g-882f | Advisory | https://github.com/openclaw/openclaw/security/advisories/GHSA-h3rm-6x7g-882f |
| openclaw-approval-integrity-bypass-via-system-run-argv-rewriting | Advisory | https://www.vulncheck.com/advisories/openclaw-approval-integrity-bypass-via-system-run-argv-rewriting |
No EPSS data available for this advisory.
| Patch URL | |
|---|---|
| There are no known patches. | |
| Attack Vector (AV) | Attack Complexity (AC) | Privileges Required (PR) | User Interaction (UI) | Scope (S) | Confidentiality Impact (C) | Integrity Impact (I) | Availability Impact (A) |
|---|---|---|---|---|---|---|---|
network adjacent_network local physical |
low high |
none low high |
none required |
unchanged changed |
high low none |
high low none |
high low none |
Vector: SSVCv2/E:N/A:N/T:T/P:M/B:A/M:M/D:T/2026-03-19T16:09:30Z/
Decision: Track
Source URL: https://github.com/cisagov/vulnrichment/blob/develop/2026/29xxx/CVE-2026-29608.json
Source Advisory: vulnrichment/CVE-2026-29608
[{'Exploitation': 'none'},
{'Automatable': 'no'},
{'Technical Impact': 'total'},
{'Mission Prevalence': 'minimal'},
{'Public Well-being Impact': 'material'},
{'Mission & Well-being': 'medium'}]