CVE-2026-34425OpenClaw 在 commit 8aceaf5 之前的版本中存在一个预检验证绕过漏洞,该漏洞位于 shell-bleed 保护机制中。由于解析器无法识别管道或复杂命令形式,攻击者可以利用此漏洞执行被阻止的脚本内容。攻击者可以通过精心构造命令,例如使用管道执行、命令替换或子 Shell 调用,来绕过 validateScriptFileForShellBleed() 验证检查,从而执行原本应被拦截的任意脚本内容。该漏洞的 CVSS v3.1 评分为 5.4,属于中危级别。
该漏洞的核心在于 OpenClaw 的 `validateScriptFileForShellBleed()` 函数未能正确解析所有形式的 shell 命令语法。该函数旨在防止“shell-bleed”攻击,即防止执行恶意的 Shell 脚本。然而,验证逻辑存在缺陷,主要关注简单的命令结构,而忽略了复杂的 Shell 语法特性。攻击者可以利用 Shell 的管道符(|)、命令替换($() 或 ``)以及子 Shell 调用(() 或 {})等特性来构造恶意载荷。例如,攻击者可以将恶意代码封装在管道命令中,或者通过命令替换将其隐藏在看似无害的参数中。当解析器处理这些经过混淆的命令时,由于正则匹配或逻辑判断的不完善,验证步骤被绕过。随后,这些命令被传递给底层 Shell 执行,导致原本被安全策略拦截的任意脚本代码得以运行。