Ghost 6.44.1 修掉一个授权绕过问题,编号 CVE-2026-103288。5.9.0 到 6.44.1 之前的版本里,成员可以删除自己无权删除的评论点赞记录。

一句话结论:这不是能拿 shell 的洞,但它暴露了一个老问题——接口只判断“你登录了”,没判断“这条记录是不是你的”。
问题出在哪
Ghost 的评论系统有点赞和点踩,数据归属于具体的成员账号。按设计,成员只能取消自己点过的赞。问题出在输入校验:接口没有把请求里的记录归属和当前登录成员对齐,于是一个已登录成员可以删掉别人的点赞或点踩记录。
影响范围写得很清楚:5.9.0 起,到 6.44.1 之前。修复版本是 6.44.1,公告在 10 月 27 日发布,官方感谢了三位披露者,其中一位来自 Escape 团队。
影响有多大
要客观看待。攻击者必须是站点成员,也就是能正常登录的人;能做的事是删点赞记录,拿不到后台权限,也读不到内容。所以它更接近数据完整性问题,而不是接管站点。
但对做内容社区的站来说,这类问题的观感很差。评论区是读者停留最久的地方,如果点赞数能被随便清掉,作者会怀疑数据不可信,广告主也会问一句互动数据准不准。如果是付费会员站,还可能牵出“会员之间能不能互相干扰”的信任问题。
怎么处理
自建的先看版本。Docker 部署的拉新镜像重建容器即可,Ghost-CLI 装的就走常规升级流程。升级前照例备份数据库,Ghost 的升级偶尔会在主题或路由上出小状况,有备份才敢回滚。
升级之后建议顺手做两件事。一是检查评论插件的版本,Ghost 的评论可以走内置,也可以接第三方,第三方那一层不在这次修复范围内。二是翻一下访问日志里有没有异常频繁的删除请求,如果有,说明可能已经被扫过。
这类“只校验登录、不校验归属”的问题,在自研接口里更常见。如果你自己在写 REST 接口,删除、修改类操作一定要在服务端比对资源归属,别把判断交给前端。前端隐藏按钮不叫权限控制,改个请求就能绕过。
再补一个判断标准:看公告里写的是“漏洞”还是“密钥泄露”。Ghost 这个是代码缺陷,有 CVE,升级就解决;而像十月中旬那两起插件分发渠道被入侵的事件,升级只换掉了文件,攻击者留下的东西还在。前者看版本号,后者得看文件系统。
如果你用的是托管版 Ghost,那就什么都不用做,服务方会统一升级。自建的才需要动手,尤其那些跑了两三年没升过主版本的老站——版本跨度大的时候,先把主题和自定义路由检查一遍再升,比升完再救便宜。
GitHub Security Advisory GHSA-qrh6-cwg3-343x(2026-10-27)。