High

OpenClaw has macOS `system.run` allowlist bypass via quoted command substitution

  • Disclosed: 03.03.2026
  • Updated: 11.10.2026 10:22

Summary

In OpenClaw's macOS node-host path, system.run allowlist parsing in security=allowlist mode failed to reject command substitution tokens when they appeared inside double-quoted shell text.

Because of that gap, payloads like echo "ok $(id)" could be treated as allowlist hits (first executable token echo) while still executing non-allowlisted subcommands through shell substitution.

Affected Packages / Versions

  • Package: npm openclaw
  • Latest published affected version: 2026.2.21-2
  • Affected range: <= 2026.2.21-2
  • Patched version (planned next release): 2026.2.22

Notes:

  • Default installs are not affected (security=deny by default).
  • The issue requires opting into security=allowlist on the macOS node-host path.

Impact

Approval/authorization bypass in allowlist mode that can lead to unintended command execution on the node host.

Preconditions

  • Target uses macOS node-host / companion-app execution path.
  • Exec approvals set to security=allowlist.
  • Ask mode is on-miss or off.
  • Allowlist contains a benign executable used in a shell wrapper flow (for example /bin/echo).

Reproduction (example)

Use a shell-wrapper command where the visible executable is allowlisted but the quoted payload contains substitution:

  • command argv: /bin/sh -lc 'echo "ok $(/usr/bin/id > /tmp/openclaw-poc-rce)"'
  • allowlist pattern includes /bin/echo

Before the fix, allowlist analysis could resolve this as allowlisted while shell substitution still executed.

Remediation

  • Upgrade to 2026.2.22 (or newer) when released.
  • Temporary mitigation: set ask mode to always or set security mode to deny.

Fix Commit(s)

  • 90a378ca3a9ecbf1634cd247f17a35f4612c6ca6

Release Process Note

patched_versions is pre-set to planned next release 2026.2.22. After npm release is out, advisory can be published directly.

OpenClaw thanks @tdjackey for reporting.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package openclaw < 2026.2.22 2026.2.22

References

CVSS score -
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness (CWE)
CWE-78
Platform
npm
Package
openclaw
Disclosed
03.03.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-9p38-94jf-hgjj - CC BY 4.0

Vulnerability history: openclaw

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (588) in the archive
Total entries
588
First → latest
02.2026 07.2026
Without a fix
9
Exploited in attacks
0

Severity breakdown

  • Critical 20
  • High 215
  • Medium 299
  • Low 54

Disclosures per year

  1. 2026: 588
Severity:
  1. OpenClaw has macOS `system.run` allowlist bypass via quoted command substitution this entry
    High CVE-2026-22179 < 2026.2.22 2026.2.22
  2. High · 8.8 CVE-2026-53811 < 2026.5.7 2026.5.7
  3. High · 8.8 CVE-2026-53806 < 2026.5.12 2026.5.12
  4. High · 7.8 CVE-2026-53813 < 2026.4.25 2026.4.25
  5. High · 7.5 CVE-2026-53834 < 2026.4.27 2026.4.27
  6. Critical CVE-2026-34507 < 2026.4.29 2026.4.29
  7. High CVE-2026-53823 < 2026.5.3 2026.5.3
  8. High · 8.4 CVE-2026-53814 < 2026.5.20 2026.5.20
  9. High · 6.5 CVE-2026-53815 < 2026.5.19 2026.5.19
  10. High · 8.1 CVE-2026-53849 < 2026.5.7 2026.5.7
  11. High · 8.1 CVE-2026-53857 < 2026.5.3 2026.5.3
  12. High · 8.1 CVE-2026-53866 < 2026.5.12 2026.5.12
  13. High · 8.1 CVE-2026-53864 < 2026.5.26 2026.5.26
  14. Critical · 9.8 CVE-2026-44109 < 2026.4.15 2026.4.15
  15. Critical · 8.1 CVE-2026-43585 < 2026.4.15 2026.4.15
  16. High · 8.8 CVE-2026-43530 >= 2026.2.23, < 2026.4.12 2026.4.12
  17. High · 8.8 CVE-2026-42434 >= 2026.4.5, < 2026.4.10 2026.4.10
  18. High · 7.5 CVE-2026-42437 >= 2026.4.9, < 2026.4.10 2026.4.10
Show more (20) Showing 61 of 235

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.