PT-2026-25518 · Npm · Openclaw
Published
2026-03-04
·
Updated
2026-03-04
CVSS v4.0
6.9
Medium
| Vector | AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
Summary
A crafted local avatar path could follow a symlink outside the agent workspace and return arbitrary file contents as a base64
data: URL in gateway responses.Impact
- Confidentiality impact: local file read in the gateway process context.
- Exfiltration path:
agents.listcan return the resultingavatarUrlpayload.
Affected Components
src/gateway/session-utils.ts(resolveIdentityAvatarUrl)
Affected Packages / Versions
- Package:
openclaw(npm) - Introduced:
v2026.1.21 - Affected published versions:
<= 2026.2.21-2 - Planned patched version:
2026.2.22
Remediation
- Resolve workspace and avatar paths with
realpathand enforce realpath containment. - Open files with
O NOFOLLOWwhen available. - Compare pre-open and opened file identity (
dev/ino) to block swap races. - Add regression tests for outside-workspace symlink rejection and in-workspace symlink allowance.
Fix Commit(s)
3d0337504349954237d09e4d957df5cb844d5e77
OpenClaw thanks @aether-ai-agent for reporting.
Fix
Link Following
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Openclaw