CVE-2026-42435OpenClaw 2026.2.22至2026.4.12之前版本存在Shell封装检测不足漏洞。该漏洞允许攻击者在argv参数级别注入环境变量赋值,从而绕过exec预检查机制。攻击者可成功操纵SHELLOPTS、PS4等高风险Shell变量,改变执行语义并破坏安全控制。利用此漏洞,攻击者可能导致敏感信息泄露,甚至在特定上下文中实现代码执行,对系统安全构成严重威胁。
该漏洞源于OpenClaw在调用系统Shell时,未对传入的参数进行充分的边界检查和清洗。根据Shell解析规则,以“VAR=value”形式传递的参数将被视为环境变量赋值而非命令参数。攻击者利用这一特性,可以通过构造特殊的命令行参数,将恶意输入注入到子进程的环境中。由于OpenClaw的预检查逻辑无法识别这种伪装的参数,攻击者可以成功绕过安全防御。一旦环境变量被修改,例如设置SHELLOPTS=xtrace,会启用调试模式导致敏感数据泄露;或者通过PS4变量插入命令替换,从而在Shell执行过程中触发任意代码执行。特别是像SHELLOPTS和PS4这样的高风险变量,SHELLOPTS可以强制开启调试模式泄露内部逻辑,PS4作为调试提示符若被注入反引号或$()可直接在打印调试信息时执行命令。这种攻击方式隐蔽性强,且能直接破坏应用的安全模型,对受影响系统的完整性和可用性造成极高风险。