IPBUF安全漏洞报告
English
CVE-2026-41380 CVSS 7.3 高危

CVE-2026-41380 OpenClaw 执行批准列表绕过漏洞

披露日期: 2026-04-28

漏洞信息

漏洞编号
CVE-2026-41380
漏洞类型
执行批准绕过
CVSS评分
7.3 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
OpenClaw

相关标签

执行批准绕过OpenClaw本地漏洞权限提升

漏洞概述

OpenClaw 在 2026.3.28 之前的版本中存在执行批准列表绕过漏洞。该漏洞位于 `exec-approvals-allowlist.ts` 组件,导致系统在处理“总是允许”持久化规则时,错误地信任包装器载体可执行文件,而非实际调用的目标程序。攻击者可利用分发包装器中的位置路由机制,建立比预期更广泛的允许列表条目,从而削弱执行批准边界,实现任意代码执行绕过。

技术细节

该漏洞的核心在于 OpenClaw 的执行批准逻辑未能正确区分“包装器载体”与“实际载荷”。在受影响版本中,`exec-approvals-allowlist.ts` 文件处理允许列表时,仅校验了发起执行请求的载体程序路径,而忽略了该载体实际指向的目标程序。攻击者利用这一缺陷,构造恶意的分发包装器。当用户首次运行此类包装器并批准执行时,系统将载体程序(如 `launcher.exe`)加入允许列表。由于存在位置路由漏洞,该载体随后可以被参数化调用,去加载并执行未经批准的其他恶意程序。这意味着攻击者只要诱导用户批准一次合法的包装器,就能利用现有的允许列表条目,持续执行任意代码,完全绕过了针对特定目标程序的执行限制。这种信任边界的削弱使得攻击者能够轻易在系统上建立持久化后门,造成严重的安全风险。

攻击链分析

STEP 1
准备阶段
攻击者准备一个恶意的分发包装器程序,该程序设计为可以接受参数并加载指定的目标可执行文件。
STEP 2
诱导执行
攻击者诱导用户在 OpenClaw 环境下运行该包装器程序。
STEP 3
利用漏洞
由于 OpenClaw 的漏洞,系统仅审查并信任载体程序(包装器),而没有检查其将要调用的目标。用户批准载体程序运行后,载体被加入允许列表。
STEP 4
绕过限制
攻击者随后利用该已获信任的载体程序,通过参数指定任意恶意目标程序进行执行。由于载体已在允许列表中,OpenClaw 放行了该执行请求。
STEP 5
持久化
攻击者利用“总是允许”的持久化特性,反复通过载体程序执行恶意代码,绕过执行批准边界。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ PoC for CVE-2026-41380: OpenClaw Execution Approve Bypass This script demonstrates how a wrapper carrier executable can be trusted while executing arbitrary targets due to the allowlist vulnerability. """ import sys import os def main(): # The carrier executable is the script itself carrier_path = sys.argv[0] # The target executable is passed as an argument target_path = sys.argv[1] if len(sys.argv) > 1 else None print(f"[+] Carrier Executable: {carrier_path}") print(f"[+] Target Executable: {target_path}") if not target_path: print("[-] Usage: python carrier_wrapper.py <target_executable>") sys.exit(1) # Vulnerability simulation: # OpenClaw approves the 'carrier_path' (this script). # However, this script executes the 'target_path'. # The allowlist entry for the carrier does not restrict the target. if os.path.exists(target_path): print(f"[*] Executing {target_path} via trusted carrier...") os.execv(target_path, [target_path]) else: print(f"[-] Target {target_path} not found.") if __name__ == "__main__": main()

影响范围

OpenClaw < 2026.3.28

防御指南

临时缓解措施
建议用户立即升级 OpenClaw 至 2026.3.28 或更高版本。在升级前,请严格审查并移除允许列表中涉及包装器或分发器的条目,避免对通用的载体程序授予“总是允许”的权限。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表