The hook authentication throttle keyed failed attempts by raw socket remoteAddress text.
IPv4 and IPv4-mapped IPv6 forms of the same client (for example 1.2.3.4 and ::ffff:1.2.3.4) were treated as different clients, allowing separate rate-limit buckets.
An attacker could split failed hook-auth attempts across both address forms and effectively double the brute-force budget from 20 to 40 attempts per 60-second window.
src/gateway/server-http.tssrc/gateway/auth-rate-limit.tsopenclaw (npm)<= 2026.2.21-22026.2.22Centralize and reuse canonical client-IP normalization for auth rate-limiting, and use that canonical key for hook auth throttling.
3284d2eb227e7b6536d543bcf5c3e320bc9d13c5patched_versions is pre-set to the planned next release (2026.2.22) so once npm release 2026.2.22 is published, this advisory can be published directly.
OpenClaw thanks @aether-ai-agent for reporting.
{
"github_reviewed_at": "2026-03-03T00:38:48Z",
"github_reviewed": true,
"cwe_ids": [
"CWE-770"
],
"nvd_published_at": null,
"severity": "MODERATE"
}