In openclaw up to and including 2026.2.23 (latest npm release as of February 24, 2026), sandbox bind-source validation could be bypassed when a bind source used a symlinked parent plus a non-existent leaf path.
openclaw (npm)<= 2026.2.23>= 2026.2.24 (planned next release)validateBindMounts previously relied on full-path realpath only when the full source path already existed. For missing-leaf paths, parent symlink traversal was not fully canonicalized before allowed-root and blocked-path checks.
A source path that looked inside an allowed root could resolve outside that root (including blocked runtime paths) once the missing leaf was created, weakening sandbox bind-source boundary enforcement.
The validation path now canonicalizes through the nearest existing ancestor, then always re-checks the canonical path against both:
pnpm checkpnpm exec vitest run --config vitest.gateway.config.tspnpm test:fastb5787e4abba0dcc6baf09051099f6773c1679ec1patched_versions is pre-set to the planned next release (2026.2.24) so after npm publish the advisory can be published without further field edits.
OpenClaw thanks @tdjackey for reporting.
openclaw@2026.2.24 is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.
{
"cwe_ids": [
"CWE-22",
"CWE-59"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-03T23:10:01Z",
"nvd_published_at": "2026-03-18T02:16:23Z",
"severity": "HIGH"
}