In the macOS companion app (currently beta), a parsing mismatch in exec approvals could let shell-chain payloads pass allowlist checks in system.run under specific settings.
This path requires all of the following:
operator.writesecurity=allowlist and ask=on-missUnder those conditions, a shell-chain command could be approved from an incomplete command view and then executed on the paired macOS host.
Default installs are not affected.
openclaw (npm)<= 2026.2.21-2>= 2026.2.22The fix hardens macOS allowlist resolution by evaluating shell chains per segment and failing closed on unsafe shell-substitution parsing in allowlist mode.
The affected macOS companion app path is currently in beta.
5da03e622119fa012285cdb590fcf4264c965cb5e371da38aab99521c4e076cd3d95fd775e00b784patched_versions is pre-set to the planned next npm release (2026.2.22) so once that version is published, this advisory can be published without additional metadata edits.
OpenClaw thanks @tdjackey for reporting.
{
"cwe_ids": [
"CWE-184",
"CWE-285"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-02T22:17:01Z",
"nvd_published_at": null,
"severity": "LOW"
}