30 秒沦陷:OpenClaw 漏洞把“管理员权限”变成了路边捡来的钥匙

一个不像漏洞、却比很多漏洞都致命的设计失误
安全圈这几年有个很经典的教训:真正可怕的,不一定是那种需要三段 ROP 链、五个内核偏移量才能打通的高深漏洞,反而常常是“逻辑没想清楚”。这次 OpenClaw 的 CVE-2026-33579,就是这种让管理员看完后会下意识骂一句“这也能上线”的案例。
按照 Reddit 上这位系统管理员的说法,问题出在 /pair approve 这条命令上。系统允许设备发起配对请求,也允许有人去批准请求,但它没有认真核验“批准者到底有没有资格批准管理员权限”。结果就是,只要你能拿到最基础的 pairing access,也就是最底层的配对权限,你就可以替自己点头,给自己发一张管理员通行证。
这类漏洞的危险之处,在于它不像传统意义上的“越权”那样绕几道弯,它几乎是把门禁卡贴在门口,还顺手写了密码。攻击者不需要额外 exploit,不需要社工,不需要撞库,只要连上目标、注册一个假设备、申请 operator.admin 权限,然后自己批准自己。流程走完,实例就归你了。整个过程据称只要 30 秒左右。对一个暴露在公网的管理系统来说,30 秒已经不是“来得及反应”,而是“连通知群都还没来得及发”。
真正让人后背发凉的,不是漏洞本身,而是暴露面
如果这只是一个安装量很小、默认不出网、只有少数实验室自用的项目,那它充其量是一则技术事故。但这次之所以在 sysadmin 社区里炸锅,是因为两个数字实在太刺眼。
其一,是公开暴露的 OpenClaw 实例超过 13.5 万个。其二,是其中 63% 处于“零认证”状态。把这两件事放在一起看,你会发现 CVE 描述里的“低权限要求”在现实世界里几乎等于“没有门槛”。理论上这是一个需要先拿到基础配对权限再升级成管理员的漏洞;现实里,由于很多实例根本没做认证,互联网上任何人都能先拿到那张“基础票”,再一路走到终点。
这也是为什么很多资深运维听到“低权限可提权”不会掉以轻心。漏洞评级里的措辞是面向技术模型的,真实环境却常常远比模型脆弱。配置错误、历史遗留、懒得加 VPN、图方便直接开公网端口——这些才是把一个“高危”漏洞硬生生推进“灾难级”的加速器。
评论区里有人说,自己对 OpenClaw 的态度和对 SSH root 权限一样:必须放在多层安全措施后面,绝不应该直接让外网碰到。这句话并不新鲜,但每次出事都显得格外刺耳。因为行业里大家都知道该怎么做,却总有人觉得“先跑起来再说”。直到某一天,系统真的跑到了别人手里。
时间差,永远是攻击者最喜欢的礼物
这起事件还有一个很典型的时间线:补丁在 3 月 29 日发布,NVD 条目在 3 月 31 日才出现。这个短短两天的窗口,恰恰反映了如今漏洞传播的一个现实——攻击者早就不需要等官方公告写得漂漂亮亮。
过去很多团队的节奏是“等 NVD、等厂商安全通告、等媒体报道,再安排更新”。这种思路在今天越来越危险。因为补丁本身就是最直接的情报源。只要有人盯着代码仓库和版本变更,比对一下修复提交,很快就能反推出漏洞位置和利用思路。对热门项目来说,补丁发布后的这几十小时,往往就是扫描器和自动化攻击最活跃的时候。
Open source 世界对此并不陌生。无论是早年的 Log4Shell,还是后来的各类 CI/CD 工具、远程运维面板、开发者代理服务的漏洞,攻击路径都越来越相似:补丁一出,PoC 跟进,扫描器铺开,暴露在公网的实例开始被批量收割。真正慢半拍的,通常不是攻击者,而是还在走审批流程的企业 IT。
所以这件事重要,不只是因为 OpenClaw 本身有多糟糕,而是它再次提醒所有技术团队:在互联网时代,补丁发布不是“事情结束”,而往往是“倒计时开始”。尤其是那些有管理权限、能碰到凭据、能连接其他服务的中枢型工具,一旦出问题,损失不会停留在单一节点,而会沿着密钥、令牌和集成接口继续蔓延。
这不是一个孤立事故,而是“工具链安全”老问题的复发
OpenClaw 之所以让人不安,还因为它所处的位置非常敏感。此类工具通常不是面向普通消费者的 App,而是深嵌在运维、自动化和服务连接流程中的“桥梁软件”。桥梁一旦被拿下,攻击者拿到的就不只是某个后台页面的控制权,而是整个实例内的数据、已连接服务,以及可能进一步横向移动的凭据。
这几年,行业里对“开发者工具”和“运维中间件”的安全担忧一直在上升。原因很简单:这些工具天然拥有高权限,连接广泛,往往还被默认信任。它们不像防火墙和堡垒机那样自带严肃的安全审视,却在实际环境里扮演着几乎同样关键的角色。很多团队给业务系统上了层层防护,结果把最危险的管理入口裸露在外网,像是家里装了三道防盗门,却把总钥匙挂在楼道里。
从这个角度看,OpenClaw 这次翻车并不只是某个项目“写错了一段权限判断”,而是整个行业在工具选型时长期存在的偏见:大家更爱功能和速度,安全能力常常排在后面。一个工具“好不好用”,远比“权限模型是否严谨”“默认配置是否安全”“审计日志是否可追踪”更容易被讨论。但真出事的时候,前者带来的是效率,后者决定的是生死。
还有一个很值得追问的问题是:为什么会有这么多实例处于零认证状态?这当然可能和产品默认设置、部署文档、社区惯例有关,也可能是用户图省事。但如果一个高权限工具足够容易被错误地暴露在公网,那它就不能只把责任推给用户。安全设计里有个朴素原则:不要指望每个管理员都永远不犯错。好的产品,应该尽可能让“犯错”变得困难,而不是让“裸奔”成为默认选项。
如果你还在用,补丁只是起点,不是终点
从应急角度看,当前最现实的动作很明确:确认版本号,低于 2026.3.28 的尽快升级;然后别急着松气,继续做审计。查看管理员设备列表、翻 /pair approve 的操作日志、核对配对请求与审批时间差、识别那些由陌生设备在极短时间内完成注册和晋升的记录。这些检查听起来不复杂,但很多团队真正做起来时会发现一个更扎心的问题:日志要么不全,要么没人平时看。
补丁能修掉现在的洞,但修不掉已经被拿走的凭据、已创建的后门设备、被偷偷接入的外部服务。如果 OpenClaw 连着 CI、云环境、数据库或第三方 API,事情就不能只停留在“npm install 完了”。管理员口令要轮换,令牌要重签,关联服务要复查访问记录,必要时甚至要把实例视为已沦陷进行重建。这些动作很麻烦,但比起让攻击者在系统里安静待上几周,麻烦一点反而是便宜的。
我更在意的是,这类事件会不会推动大家重新审视“公网可达的管理工具”这件事。今天的运维工具越来越云化、越来越 API 化、越来越讲究远程协作,可它们的安全边界却常常没有同步升级。很多团队已经接受了零信任、MFA、细粒度权限这些理念,却仍在用十年前的部署习惯对待新时代的高权限工具。说得直白一点,大家的安全观念升级了,但机房门还没锁上。
如果 OpenClaw 这次事故能留下点正面意义,大概就是让更多人重新记住那个听起来老套、却永远不过时的常识:任何能控制全局的工具,都不应该直接面对互联网。把它藏到 VPN 后面,收紧默认权限,打开审计,及时补丁——这些都不性感,不会出现在产品发布会的海报上,却往往比新功能更能决定一家公司的周一早上会不会变成事故现场。