CVE-2026-41373OpenClaw在2026.3.31之前的版本中存在一个安全漏洞。由于host-env-security-policy.json配置不完整,未能正确限制编译器二进制文件的环境变量。这导致不受信任的模型可以通过环境覆盖的方式,替换CC、CXX、CARGO_BUILD_RUSTC和CMAKE_C_COMPILER等关键编译器环境变量。具有已批准host-exec请求的攻击者可以利用此漏洞,在构建过程中覆盖编译器二进制文件,从而执行任意代码。该漏洞的CVSS评分为6.1,属于中危级别,攻击者需要本地访问权限和低权限即可发起攻击,对系统完整性造成严重影响。
该漏洞的核心原因在于OpenClaw的安全策略配置文件host-env-security-policy.json中缺失了对特定构建环境变量的严格限制。在OpenClaw的架构中,允许模型请求执行主机命令以进行代码构建,但理论上应限制模型对构建环境的篡改能力。然而,由于策略配置的疏忽,攻击者能够通过设置环境变量来改变构建工具链的路径。具体来说,当OpenClaw执行构建任务时,如果环境变量如CC(C编译器)、CXX(C++编译器)、CARGO_BUILD_RUSTC(Rust编译器)或CMAKE_C_COMPILER被恶意修改,系统将加载攻击者指定的恶意二进制文件而非系统默认的安全编译器。一旦攻击者获得了host-exec权限,他们便可以利用这一机制注入恶意代码。在构建过程中,系统会调用这些被替换的编译器,从而导致攻击者指定的任意代码在宿主机上以运行OpenClaw的权限执行。这种利用方式绕过了传统的沙箱限制,实现了从模型执行到宿主机命令执行的逃逸,严重威胁系统的完整性和安全性。