Monitor vulnerabilities like this one.
Sign up free to get alerted when software you use is affected.
7.8
OpenClaw: Sandbox media fallback tmp symlink alias bypass allows host file reads outside sandboxRoot
GHSA-xmv6-r34m-62p4
Summary
### Summary
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.
### Affected Packages / Versions
- Package: `npm openclaw`
- Affected versions: `<= 2026.2.24`
- Latest publish...
What to do
- Update openclaw to version 2026.2.25.
Affected software
| Vendor | Product | Affected versions | Fix available |
|---|---|---|---|
| – | openclaw | <= 2026.2.24 | 2026.2.25 |
Original title
OpenClaw: Sandbox media fallback tmp symlink alias bypass allows host file reads outside sandboxRoot
Original description
### Summary
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.
### Affected Packages / Versions
- Package: `npm openclaw`
- Affected versions: `<= 2026.2.24`
- Latest published npm version at triage time (February 26, 2026): `2026.2.24`
- Patched version : `2026.2.25`
### Details
When `/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`.
### Impact
This can break sandbox media path confinement and permit unauthorized host file reads (confidentiality impact).
### Reproduction (high level)
1. Force resolver fallback (make `/tmp/openclaw` unavailable/invalid).
2. Make fallback root (`$TMPDIR/openclaw-<uid>`) a symlink alias to `/`.
3. Submit media path under fallback root (for example `$TMPDIR/openclaw-<uid>/etc/passwd`).
4. Observe accepted path and read outside `sandboxRoot`.
### Fix Commit(s)
- `496a76c03ba85e15ea715e5a583e498ae04d36e3`
### Release Process Note
Patched 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.
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.
### Affected Packages / Versions
- Package: `npm openclaw`
- Affected versions: `<= 2026.2.24`
- Latest published npm version at triage time (February 26, 2026): `2026.2.24`
- Patched version : `2026.2.25`
### Details
When `/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`.
### Impact
This can break sandbox media path confinement and permit unauthorized host file reads (confidentiality impact).
### Reproduction (high level)
1. Force resolver fallback (make `/tmp/openclaw` unavailable/invalid).
2. Make fallback root (`$TMPDIR/openclaw-<uid>`) a symlink alias to `/`.
3. Submit media path under fallback root (for example `$TMPDIR/openclaw-<uid>/etc/passwd`).
4. Observe accepted path and read outside `sandboxRoot`.
### Fix Commit(s)
- `496a76c03ba85e15ea715e5a583e498ae04d36e3`
### Release Process Note
Patched 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.
ghsa CVSS4.0
7.8
Vulnerability type
CWE-22
Path Traversal
CWE-59
Link Following
Published: 3 Mar 2026 · Updated: 7 Mar 2026 · First seen: 6 Mar 2026