Webhook transform modules were validated with lexical path checks only. A symlink under the allowed hooks transform tree could resolve outside the intended directory and be dynamically imported.
openclaw (npm)<= 2026.2.21-22026.2.22When an attacker can cause a transform module path to reference a symlinked entry that resolves outside the trusted transform directory, the gateway may import and execute unintended JavaScript with gateway-process privileges.
hooks.transformsDir symlink escape rejection,f4dd0577b055f77af783105bd65eae32f3d5e6a1OpenClaw thanks @aether-ai-agent for reporting.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-03T23:00:53Z",
"cwe_ids": [
"CWE-94"
],
"severity": "HIGH",
"nvd_published_at": null
}