openclaw/openclaw · Security

OpenClaw's tools.exec.safeBins sort long-option abbreviation bypass can skip exec approval in allowlist mode

GHSA ID
GHSA-3c6h-g97w-fg78
CVE ID
CVE-2026-32059
Severity
high
Published
Updated
CVSS
8.8 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v3
8.8 · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4
8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Description

Summary

In OpenClaw, tools.exec.safeBins validation for sort could be bypassed via GNU long-option abbreviations in allowlist mode, allowing approval-free execution paths that should require approval.

Affected Packages / Versions

  • Ecosystem: npm
  • Package: openclaw
  • Latest published version checked: 2026.2.22-2
  • Affected range: <= 2026.2.22-2
  • Fixed version: 2026.2.23

Impact

When all of the following are true:

  • tools.exec.security=allowlist
  • tools.exec.ask=on-miss
  • tools.exec.safeBins includes sort

abbreviated GNU long options (for example --compress-prog) could bypass denied-flag checks and be treated as allowlist-satisfied safe-bin usage, skipping approval.

Root Cause

Long-option handling matched denied flags by exact string and accepted unknown long options with inline values instead of failing closed.

Fix Commit(s)

  • 3b8e33037ae2e12af7beb56fcf0346f1f8cbde6f

Release Process Note

patched_versions is pre-set to the released version (2026.2.23). This advisory now reflects released fix version 2026.2.23.

OpenClaw thanks @tdjackey for reporting.

CWEs

References