In affected versions of openclaw, node-host system.run approvals could still execute rewritten local code for interpreter and runtime commands when OpenClaw could not bind exactly one concrete local file operand during approval planning.
Deployments using node-host system.run approval mode could approve a benign local script and then execute different local code if that script changed before execution. This can lead to unintended local code execution as the OpenClaw runtime user.
openclaw (npm)<= 2026.3.82026.3.11The approval flow treated some interpreter and runtime forms as approval-backed even when it could not honestly bind a single direct local script file. That left residual approval-integrity gaps for runtime forms outside the directly bound file set.
OpenClaw now fails closed for approval-backed interpreter and runtime commands unless it can bind exactly one concrete local file operand, and it extends best-effort direct-file binding for additional runtime forms. The fix shipped in openclaw@2026.3.11.
Upgrade to 2026.3.11 or later.
{
"nvd_published_at": null,
"severity": "HIGH",
"github_reviewed": true,
"cwe_ids": [
"CWE-367"
],
"github_reviewed_at": "2026-03-13T15:47:41Z"
}