CVE-2026-41351OpenClaw 2026.3.31之前的版本在处理webhook签名时存在重放检测绕过漏洞。由于系统错误地将Base64和Base64URL编码的签名视为完全不同的请求,攻击者可以通过重新编码Telnyx webhook签名来绕过重放检测机制。尽管签名验证本身依然有效,但攻击者可以利用此漏洞多次重放同一个有效的webhook载荷,从而可能导致未授权的操作或信息泄露。
该漏洞的核心在于OpenClaw对Telnyx webhook签名的处理逻辑存在缺陷。Webhook签名通常用于验证请求来源的真实性,而重放检测机制则防止同一请求被多次处理。OpenClaw在实现时,可能同时接受Base64和Base64URL两种编码方式的签名进行验证。然而,其重放检测机制(通常依赖缓存已处理的签名字符串)并未对这两种编码方式进行归一化处理。Base64和Base64URL在二进制层面上是等价的,区别仅在于将`+`和`/`替换为`-`和`_`,以及移除填充符`=`。攻击者可以利用这一特性,将一个已发送的合法请求的签名从Base64转换为Base64URL。由于字符串内容发生变化,OpenClaw的重放检测缓存无法匹配到该记录,误判为新请求。同时,签名验证模块可能能够正确解码Base64URL,导致验证通过。这最终使得攻击者能够绕过防护,成功实施重放攻击。