GHSA-9mph-4f7v-fmvh json
OpenClaw has agent avatar symlink traversal in gateway session metadata
published 8mo ago modified 8mo ago
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
## 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.list` can return the resulting `avatarUrl` payload.
## 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 `realpath` and enforce realpath containment. - Open files with `O_NOFOLLOW` when 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.
Patch / fix
Is GHSA-9mph-4f7v-fmvh in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | openclaw | <2026.2.22 |
2026.2.22 |
Classification
- Weakness
-
- CWE-59 Improper Link Resolution Before File Access
References
Sources
- GitHub Advisory GHSA-9mph-4f7v-fmvh
- Maintainer advisory GHSA-9mph-4f7v-fmvh
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of openclaw/openclaw published their own advisory on GitHub. Reviewed sources take precedence over it.