In openclaw up to and including 2026.2.23 (latest npm release as of February 25, 2026), system.run shell-wrapper inputs could present misleading approval/display text while still carrying hidden positional argv payloads that execute at runtime.
openclaw (npm)<= 2026.2.23>= 2026.2.24 (planned next release)For shell-wrapper forms (for example /bin/sh -c ...), command-text binding could focus on inline shell payload text while runtime execution still used the full argv vector. Positional argv carriers after the inline payload could therefore be executed under incomplete display context.
Approval/display context could omit executed argv carriers, enabling hidden command execution under misleading operator-visible text.
rawCommand values when they do not match the execution-bound argv context for those forms.rawCommand/argv consistency there for carrier wrappers and env-modifier shell preludes.pnpm checkpnpm exec vitest run --config vitest.gateway.config.tspnpm test:fastpnpm vitest run src/infra/system-run-command.test.ts src/node-host/invoke-system-run.test.ts src/cli/nodes-cli.coverage.test.ts src/gateway/node-invoke-system-run-approval.test.tscd apps/macos && swift test --filter ExecSystemRunCommandValidatorTests0f0a680d3df81739ea5088a2f88e65f938b7936b55cf92578d266987e390c4bf688196af98eac748patched_versions is pre-set to the planned next release (2026.2.24) so after npm publish the advisory can be published without further field edits.
OpenClaw thanks @tdjackey for reporting.
openclaw@2026.2.24 is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.
{
"github_reviewed_at": "2026-03-03T19:46:42Z",
"github_reviewed": true,
"cwe_ids": [
"CWE-436",
"CWE-863"
],
"nvd_published_at": null,
"severity": "HIGH"
}