OpenClaw: Native prompt image auto-load did not honor tools.fs.workspaceOnly in sandboxed runs

Description

Summary

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.

Affected Packages / Versions

  • Package: openclaw (npm)
  • Latest published npm version at triage time: 2026.2.23
  • Vulnerable version range: <= 2026.2.23
  • Patched version (planned next release): 2026.2.24

Conditions Required

This 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.

Technical Details

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.

Fix Commit(s)

  • 370d115549c0dadace0902775eea0d5094aedfdc

Verification

  • pnpm check
  • pnpm exec vitest run --config vitest.gateway.config.ts
  • pnpm test:fast

Release Process Note

patched_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.

Publication Update (2026-02-25)

[email protected] is published on npm and contains the fix commit(s) listed above. This advisory now marks >= 2026.2.24 as patched.

Basic information

Type
reviewed
Severity
high
Advisory on GitHub
Open advisory ↗
Repository advisory
Open repository advisory ↗
Source code
Browse source ↗
Published (advisory)
2026-03-03 19:08:08 UTC
Updated
2026-03-03 19:08:10 UTC
GitHub reviewed
2026-03-03 19:08:08 UTC

CVSS Scores

Base score Version Severity Vector
8.9 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network.
Attack complexity (AC:L)
Exploitation conditions are straightforward and stable.
Attack requirements (AT:P)
Additional preconditions must be present for exploitation.
Privileges required (PR:N)
No privileges are required.
User interaction (UI:N)
No user interaction is required.
Vulnerable system confidentiality impact (VC:H)
High confidentiality impact on the vulnerable system.
Vulnerable system integrity impact (VI:N)
No integrity impact on the vulnerable system.
Vulnerable system availability impact (VA:N)
No availability impact on the vulnerable system.
Subsequent system confidentiality impact (SC:H)
High confidentiality impact on subsequent systems.
Subsequent system integrity impact (SI:N)
No integrity impact on subsequent systems.
Subsequent system availability impact (SA:N)
No availability impact on subsequent systems.

Identifiers

Type Value
GHSA GHSA-9f72-qcpw-2hxc ↗

CWEs

CWE id Name
CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
CWE-284 Improper Access Control

Credits

  • tdjackey (reporter)

Affected packages (1)

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

References

cvelogic Threat Intelligence