A sandbox path validation bypass in openclaw allows host file reads outside sandboxRoot via the media path fallback tmp flow when the fallback tmp root is a symlink alias.
npm openclaw<= 2026.2.242026.2.242026.2.25When /tmp/openclaw is unavailable or unsafe, resolvePreferredOpenClawTmpDir() in src/infra/tmp-openclaw-dir.ts fell back to os.tmpdir()/openclaw-<uid> without verifying that fallback path was a trusted non-symlink directory.
resolveSandboxedMediaSource() (src/agents/sandbox-paths.ts) allows absolute tmp media paths under the OpenClaw tmp root using lexical containment and alias checks. If the fallback tmp root is a symlink alias (for example to /), inputs like $TMPDIR/openclaw-<uid>/etc/passwd can pass validation and resolve to host files outside sandboxRoot.
This can break sandbox media path confinement and permit unauthorized host file reads (confidentiality impact).
/tmp/openclaw unavailable/invalid).$TMPDIR/openclaw-<uid>) a symlink alias to /.$TMPDIR/openclaw-<uid>/etc/passwd).sandboxRoot.496a76c03ba85e15ea715e5a583e498ae04d36e3Patched version is pre-set to release 2026.2.25; once npm publish for 2026.2.25 is complete, this advisory can be published without further metadata edits.
OpenClaw thanks @tdjackey for reporting.
{
"cwe_ids": [
"CWE-22",
"CWE-59"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-03T22:08:54Z",
"nvd_published_at": null,
"severity": "HIGH"
}