← 全部文章

安全

WordPress 修补了一个可追溯到 2016 年的漏洞。未更新的站点在五小时内就被扫到了

CVE-2026-87902 允许未经认证的访问者让 WordPress 的页面模板解析加载本地 PHP 文件,在常见的主机配置下这会变成代码执行。补丁覆盖了回溯至 4.7 的全部分支,而探测当天下午就开始了。

MAI
WordPress 项目的官方横幅图片:圆形的 WordPress“W”标志与 WordPress 字标。

WordPress 于 9 月 22 日发布 7.1.2,并把同一修复回溯移植到它仍在维护的每一个安全分支,一直到 4.7。该漏洞 CVE-2026-87902 允许未经认证的访问者引导页面模板解析流程,加载当前主题目录之外一个可读的本地 PHP 文件;在某些主机环境下,这会进一步变成远程代码执行。Patchstack 称,它在同日 17:44 UTC 拦截了第一次攻击尝试——距离版本发布还不到五个小时。

这段时间差才是重点。补丁本身就是漏洞的公开,而对于一个驱动了全球 40.2% 网站的软件来说,两者之间打开的那扇窗,正是损害发生的地方。

一个伸到 2016 年的漏洞

受影响范围从 2016 年 12 月发布的 4.7.0 开始。WordPress 并不会常规地把修复回溯到这么老的分支;这次它这样做了,本身就是对这一暴露面最清楚的表态。

CVECVE-2026-87902
受影响版本WordPress 4.7.0 至 7.1.1
修复版本7.1.2、7.0.6、6.9.9、6.8.10、6.7.9、6.6.9,以及回溯至 4.7.37 的各分支
涉及组件页面模板解析(get_page_template()
报告者Robert Ressl,负责任披露
在野利用9 月 22 日观测到探测行为,尚无确认的入侵报告

W3Techs 在发布当天的数据显示,WordPress 占全部网站的 40.2%、CMS 市场的 58.8%,其中 62.5% 的 WordPress 安装运行版本 7。真正值得担心的是剩下的三分之一。

“有条件”这三个字承担了太多

项目方和 Patchstack 都谨慎地说明,代码执行是有条件的。文件加载本身无条件成立;要把它变成执行,需要当前启用的主题带有类似 page-templates 的顶层目录——Patchstack 指出,这在早期默认主题和一些流行的第三方主题中很常见——并且需要 PHP 的 register_argc_argv 处于开启状态。后者在官方 PHP Docker 镜像以及运行 PHP 8.5 以下版本的 cPanel 环境中默认开启。

这些不是罕见条件,而是默认值。严重性评分的分歧也正来自于如何看待这一点。项目方的安全公告给出 9.2。发布到 CVE.org 的 CNA 记录则以“攻击复杂度高”的向量给出 8.1,NVD 的分析仍在进行中。造成差异的,是把一个广泛存在的默认配置算作攻击者的门槛,还是视为互联网的常态。对站点运营者而言,这只是学理之争:文件加载这一基础能力是无条件成立的,而一个能读取任意本地 PHP 文件的攻击者,已经身处存放配置机密的那一层里面。

五个小时

Patchstack 的遥测描绘出的是机会主义式的大范围扫描,而非有针对性的行动。流量来自少数来源——两个相邻的 IPv4 地址加上一些 IPv6——在第一个小时内达到峰值,随后迅速回落。这些请求并不是执行尝试,而是侦察:用普通的 WordPress 核心文件作为判别依据,找出哪些主机仍然脆弱。

这正是大规模利用第一阶段的典型形态。有人读了公告,做出一个探测器,撒向互联网以建立目标清单。真正的执行尝试如果到来,会指向那些给出回应的地址。

防守方该做什么

更新。启用了后台自动更新的站点在发布时就已经收到补丁;WordPress 自己的建议是立即更新,通过后台仪表盘或直接下载发行版。暴露面几乎全部集中在自动更新被关闭的地方:为兼容性而锁定版本的托管主机、已经无人认领的预发布环境和被遗忘的安装,以及分支老到运营者早已不把它当作软件看待的站点。

如果无法立即打补丁,Patchstack 和 Hadrian 都说明了临时的 Web 应用防火墙过滤方案,以及在访问日志中应当查找什么——查询参数中经过编码的穿越序列,以及此前返回了本不该返回的文件内容的请求。检测细节在它们的公告里,与其临时自拟规则,不如照做。

该漏洞目前尚未被列入 CISA 的 Known Exploited Vulnerabilities 目录,截至撰稿时也没有确认的入侵报告。如果未更新的长尾真如 W3Techs 的版本分布所暗示的那样长,这种状态不会维持太久。WordPress 的自动更新机制是开放互联网上最有效的安全基础设施之一,这次发布也是一个很好的例证——只是仅限于它真正能触及的那大约三分之二的安装。

Sources: WordPress 7.1.2 Security Release · WordPress security advisory GHSA-7hp8-65ch-5whp · Patchstack: WordPress 7.1.2 Security Release · Patchstack: Attackers Started Probing WordPress Sites Hours After the Patch · The Hacker News: WordPress Issues Patch for Critical Flaw · Hadrian vulnerability alert: CVE-2026-87902 · W3Techs: Usage statistics of WordPress

继续阅读