GitHub Advisoryadvisory · npm

GHSA-rw39-5899-8mxp OpenClaw: Node-host approvals could show misleading shell payloads instead of the executed argv

HIGH Published 2026-03-13 Modified 2026-04-06 Official page ↗
Aliases
CVE-2026-32971
Ecosystem
npm
Packages
openclaw
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
Weaknesses
CWE-436, CWE-863
Reviewed
2026-03-13

Affected packages

• npm openclaw: < 2026.3.11 → fixed in 2026.3.11

Description

Summary In affected versions of `openclaw`, node-host `system.run` approvals could display only an extracted shell payload such as `jq --version` while execution still ran a different outer wrapper argv such as `./env sh -c 'jq --version'`. Impact This is an approval-integrity bug. An attacker who could place or select a local wrapper binary and induce a wrapper-shaped command could get local code executed after the operator approved misleading command text. Affected Packages and Versions • Package: `openclaw` (npm) • Affected versions: `<= 2026.3.8` • Fixed in: `2026.3.11` Technical Details Wrapper resolution normalized executables by basename and extracted inner shell payload text for approval display, while execution still preserved the full wrapper argv. Approval storage and UI therefore showed text that did not match the exact command OpenClaw would execute. Fix OpenClaw now binds approvals to the exact executed argv and keeps extracted shell payload text only as secondary preview data. The fix shipped in `[email protected]`. Workarounds Upgrade to `2026.3.11` or later.

Related

Alias · CVE (1)

  • CVE-2026-32971 OpenClaw before 2026.3.11 contains an approval-integrity vulnerability in node-host system.run approvals that displays extracted shell… vulnerability

Weakness · CWE (2)

  • CWE-436 Interpretation Conflict weakness
  • CWE-863 Incorrect Authorization weakness

References