CVE-2026-43529OpenClaw在2026.4.10之前的版本中存在一个安全漏洞,该漏洞被归类为时间-of-check-to-time-of-use(TOCTOU)竞争条件漏洞。漏洞位于`validateScriptFileForShellBleed`函数中,允许本地攻击者绕过工作区边界检查。攻击者需要拥有工作区的写入权限,利用验证和预检读取之间的时间差,通过竞争条件交换目标文件。这使得验证器检查的文件标识与通过初始边界检查的文件不一致,从而导致安全机制失效,可能泄露敏感信息或执行未授权操作。
该漏洞的核心原理在于“检查与使用之间的时间差”。在`validateScriptFileForShellBleed`函数中,程序首先对脚本文件进行安全验证(检查文件路径、权限等边界条件),验证通过后,会在稍后的“预检读取”阶段再次读取该文件内容并执行或处理。由于这两个操作并非原子性的,中间存在一个时间窗口。攻击者如果拥有工作区的写入权限,可以在验证通过后、预检读取前的极短时间内,利用符号链接(symlink)或文件替换操作,将原本合法的文件替换为恶意文件或指向敏感文件的链接。这样,系统后续处理的就是攻击者指定的文件,从而绕过了初始的安全边界检查。这种攻击方式依赖于本地访问能力和精确的时机控制,虽然利用难度较高(AC:H),但在多线程或高并发环境下更易触发。