CVE-2026-29608: OpenClaw's Node system.run approval hardening wrapper semantic drift can execute unintended local scripts
Summary In [email protected], 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.
Published Mar 3, 2026 · Updated Mar 19, 2026
Affected packages
openclaw
- Ecosystem
- npm
- Affected
- = 2026.3.1
- Fixed in
- 2026.3.2
- Check
npm ls openclaw
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
In [email protected], 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.tsrewroteargv[0]to the resolved executable.- Wrapper resolution unwrapped dispatch wrappers, so input like
['env','sh','-c','echo SAFE']resolved executablesh. - The approved plan could become
['/bin/sh','sh','-c','echo SAFE']while approval text remainedecho 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
[email protected].
Credited to tdjackey.
References
- https://github.com/openclaw/openclaw/security/advisories/GHSA-h3rm-6x7g-882f
- https://github.com/openclaw/openclaw/commit/dded569626b0d8e7bdab10b5e7528b6caf73a0f1
- https://nvd.nist.gov/vuln/detail/CVE-2026-29608
- https://www.vulncheck.com/advisories/openclaw-approval-integrity-bypass-via-system-run-argv-rewriting
- https://github.com/advisories/GHSA-h3rm-6x7g-882f
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More OpenClaw vulnerabilities
All OpenClaw entriesCVE-2026-35630
OpenClaw: QQBot native approval buttons did not enforce configured approver identity
high8.0Jul 2, 2026CVE-2026-53806
OpenClaw: Combined POSIX shell options could confuse exec revalidation
high8.8Jul 2, 2026CVE-2026-53809
OpenClaw: Embedded runner policy could be confused by provider aliases
medium3.8Jul 2, 2026CVE-2026-53810
OpenClaw's marketplace runtime extension metadata could point at unscanned payloads
high8.8Jul 2, 2026CVE-2026-53811
OpenClaw: Matrix allowFrom could bind to mutable display names
high8.8Jul 2, 2026CVE-2026-53812
OpenClaw's browser act interactions could bypass private-network navigation checks
medium7.7Jul 2, 2026
