In sandboxed runs, native prompt image auto-load did not honor tools.fs.workspaceOnly=true.
This optional hardening setting is not enabled by default. When operators enabled it, prompt text could still reference mounted out-of-workspace image paths (for example /agent/secret.png) and load those image bytes for vision-capable model input.
openclaw (npm)2026.2.23<= 2026.2.232026.2.24This issue required all of the following:
- sandbox mode enabled,
- tools.fs.workspaceOnly=true configured,
- an out-of-workspace mount path reachable from the sandbox (for example /agent),
- vision-capable model path active for native prompt image loading.
Native prompt image ingestion (detectAndLoadPromptImages / loadImageFromRef) resolved and read sandbox paths but did not apply the same workspace-root assertion used by file tools when tools.fs.workspaceOnly was set.
370d115549c0dadace0902775eea0d5094aedfdcpnpm checkpnpm exec vitest run --config vitest.gateway.config.tspnpm test:fastpatched_versions is pre-set to the planned next release (2026.2.24) so once npm release is available, this advisory only needs publish action.
OpenClaw thanks @tdjackey for reporting.
[email protected] is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.
| Base score | Version | Severity | Vector |
|---|---|---|---|
| 8.9 | 4.0 | — |
|
| Type | Value |
|---|---|
| GHSA | GHSA-9f72-qcpw-2hxc ↗ |
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem | Package | Vulnerable range | First patched | Vulnerable functions |
|---|---|---|---|---|
| npm | openclaw | <= 2026.2.23 | 2026.2.24 | — |