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.
agents.list can return the resulting avatarUrl payload.src/gateway/session-utils.ts (resolveIdentityAvatarUrl)openclaw (npm)v2026.1.21<= 2026.2.21-22026.2.22realpath and enforce realpath containment.O_NOFOLLOW when available.dev/ino) to block swap races.3d0337504349954237d09e4d957df5cb844d5e77OpenClaw thanks @aether-ai-agent for reporting.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-04T19:02:59Z",
"severity": "MODERATE",
"nvd_published_at": null,
"cwe_ids": [
"CWE-59"
]
}