CVE-2026-31992OpenClaw是一款自动化运维与命令执行框架,其核心安全机制通过system.run的guardrails(防护栏)对可执行命令进行白名单限制。2026年3月披露的CVE-2026-31992漏洞表明,在OpenClaw 2026.2.23之前的版本中,存在严重的allowlist(白名单)绕过风险。攻击者利用env命令的-S参数特性,当管理员将/usr/bin/env加入白名单后,可通过env -S在运行时动态注入shell包装载荷(wrapper payloads),绕过静态策略分析,最终实现任意命令执行。该漏洞需要认证身份(低权限operator账户即可),无需用户交互即可完成攻击。CVSS评分7.1,属于高危漏洞,对系统完整性和可用性造成严重影响。
漏洞根源在于OpenClaw的guardrails机制对env命令的参数解析不完善。攻击者利用env -S 'string'语法,该参数允许在单次调用中通过空格分隔多个环境变量赋值。例如:env -S 'VAR=value; command' 会被env解析为设置环境变量后执行command。当管理员将/usr/bin/env加入白名单时,system.run的策略检查仅验证env命令本身是否被允许,但无法深入分析-S参数后携带的载荷内容。攻击者通过构造类似 env -S 'x=$(whoami)>/tmp/out' 的payload,利用bash的命令替换和重定向特性,在env执行期间触发shell解释器,最终将命令执行结果写入外部文件。防御措施包括:1) 升级至2026.2.23或更高版本;2) 避免将env命令整体加入白名单;3) 实施更严格的命令参数校验策略。