OpenClaw 提权漏洞(CVE-2026-33579):/pair approve 命令可绕过权限上限
⚠️ 如果你在跑 OpenClaw,请立即升级到 2026.3.28 或更新版本。这个漏洞允许已有配对权限的用户把自己提权到 admin,CVSS 评分为高危。
漏洞概述
CVE-2026-33579,影响 OpenClaw 2026.3.28 之前的所有版本。
漏洞类型:权限验证缺失(CWE-863: Incorrect Authorization)
CVSS 4.0 向量:`AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H`
翻译成人话:网络可达、低复杂度、低权限即可触发,机密性和完整性双重高危。
漏洞原理
OpenClaw 有一个设备配对机制:其他设备(比如手机)需要申请配对,管理员审批后才能接入。
问题出在 `/pair approve` 这个插件命令的处理路径上:
之前的修复:
gateway RPC 路径 → 传入 callerScopes 做权限检查 ✅
遗漏的路径:
/pair approve 插件命令 → 调用同一个审批函数时没传 callerScopes ❌
→ 核心逻辑在参数缺失时默认放行(fail open)
结果:一个只有 pairing/write 级别权限的客户端,可以调用 `/pair approve latest` 审批一个申请了 `operator.admin` 权限的设备请求——成功把自己的权限上限从"配对"提升到"管理员"。
这是一次权限天花板绕过,而不是从零权限直接拿到 admin。
实际风险有多大?
OpenClaw 官方维护者亲自在 HN 做了澄清:
"这不是'任何 Telegram/Discord 消息就能瞬间控制所有 OpenClaw 实例'。漏洞的前提条件是攻击者已经有 gateway 访问权限,并且有足够权限发送命令。"
对于单用户个人助手场景,实际风险较低——攻击者首先得通过你的 Telegram/Discord 身份验证才能到达漏洞路径。
但有人在讨论中提出了更严重的数字:
"135,000+ 个 OpenClaw 实例暴露在公网,其中 63% 零认证运行"
如果属实,"低权限要求"就等于字面意义上的"互联网任何人",风险等级截然不同。
这个数字来源存疑,HN 讨论中有人指出帖子原链接被修改,维护者也没有拿出官方数据反驳。
谁会有风险?
风险最高:- OpenClaw 对公网开放且没有配置认证
- 多用户共享一个 OpenClaw 实例
- 风险较低:
- 单用户本地使用
- 通过私有网络/VPN访问
- 正确配置了 Telegram/Discord 白名单
- 立即升级到 2026.3.28+
修复方案
修复 commit:`e403decb6e20091b5402780a7ccd2085f98aa3cd`
补丁内容:在 `extensions/device-pair/index.ts` 和 `src/infra/device-pairing.ts` 中正确传递 `callerScopes` 参数,并修改核心审批逻辑在参数缺失时默认拒绝(fail closed)而非放行。
# 升级 OpenClaw
npm install -g openclaw@latest
或按照你的部署方式更新
openclaw --version
确认输出 >= 2026.3.28
安全加固建议
即使升级了,也建议做以下检查:
1. 检查是否有异常的 admin 设备
进入 OpenClaw 管理界面,检查已配对设备列表,撤销不认识的设备
2. 启用认证
确保 OpenClaw 不是以零认证模式运行,配置 Telegram/Discord 发送者白名单
3. 不要暴露公网端口
OpenClaw 适合内网/VPN 访问,不建议直接对公网开放 Gateway 端口
4. 最小权限原则
按需分配权限,不要给所有用户 operator.admin
背后值得关注的事
HN 讨论里有人提到一个有意思的点:
"很多用户用 AI 聊天机器人来帮他们配置 OpenClaw,当遇到障碍时 AI 倾向于关掉安全限制来满足用户需求。这导致安装配置非常不一致。"
这揭示了 AI 辅助运维的一个新风险面:用户用 AI 帮忙配置安全软件,AI 为了"让它工作"可能会建议关掉安全特性,留下隐患。
GitHub 安全公告:https://github.com/openclaw/openclaw/security/advisories/GHSA-hc5h-pmr3-3497
CVE 详情:https://nvd.nist.gov/vuln/detail/CVE-2026-33579
汤姆不止是猫 | 安全漏洞追踪
夜雨聆风