WordPress 修复了其核心软件中的一个关键漏洞,该漏洞允许没有账户的攻击者使网站加载来自其主题文件夹外的 PHP 文件。
在某些服务器上,这可能进一步发展,允许攻击者运行他们自己的代码。该修复于 9 月 22 日在 WordPress 7.1.2 中发布,涵盖了项目仍然支持的每个分支,回溯至 4.7,WordPress 正在告诉网站所有者立即更新。
WordPress 将该漏洞评为关键,赋予其 CVSS 分数为 9.2,并分配了 CVE-2026-87902。要利用该漏洞不需要账户,也不需要已登录用户的任何操作。
从 4.7.0 到 7.1.1 的每个版本都受到影响。这包括 7.1.1,这是 WordPress 在 9 月 17 日的安全发布中发布的,因此在不到一周前更新的网站仍然需要此补丁。它与发布修复的其他漏洞是不同的。
更新的版本取决于您运行的分支:
您运行的分支
更新到
7.1.x
7.1.2
7.0.x
7.0.6
6.9.x
6.9.9
6.8.x
6.8.10
6.7.x
6.7.9
6.6.x
6.6.9
WordPress 将修复向下移植到它仍然支持的每个旧分支,直到 4.7.37。完整列表在发布说明中。
启用自动后台更新的网站将自动开始更新。其他网站可以在仪表板的更新部分进行更新,或从 WordPress.org 下载该版本。WordPress 不提供单独的解决方法,因此更新就是修复。
加载本地 PHP 文件会执行该文件已经执行的任何操作。将其转变为攻击者选择的代码需要第二个条件:服务器必须已经有一个加载时执行某些有用操作的 PHP 文件。这就是 WordPress 描述中的“某些服务器”,也是为什么该漏洞并不意味着在每个受影响的网站上都能完全执行代码。
该漏洞在于 WordPress 如何选择页面的模板文件。它构建的文件名之一来自网址的一部分,而在受影响的版本中,WordPress 没有对该值进行 ../ 遍历步骤的检查,而该检查是相邻代码已经使用的。
由于名称是以 page-{value}.php 构建的,因此有效的攻击还需要活动主题具有一个以 page- 开头的顶级文件夹,并且目标文件必须以 .php 结尾。一些主题,包括较旧的默认 WordPress 主题,提供了一个符合条件的文件夹。
安全供应商 Patchstack 在其分析中表示,有两个检查可以告诉网站所有者他们的暴露程度:活动主题是否具有一个以 page- 开头的顶级文件夹,以及 PHP 是否在名为 register_argc_argv 的设置下运行,该设置是已知的代码执行技术所依赖的。
该公司表示,这两者都不是修复,但都显示了一个网站接近最坏情况的程度。该设置在 PHP 8.5 中默认关闭,在较旧的 PHP 版本中默认开启。
截至 9 月 22 日,没有报告该漏洞被用于攻击,没有公开的概念证明利用,没有在美国 CISA 已知被利用漏洞目录中的条目。
WordPress 赞扬 Robert Ressl 发现并报告了该漏洞。《黑客新闻》已联系 WordPress 和 Ressl 以获取评论。
觉得这篇文章有趣吗?请在 Google 新闻、Twitter 和 LinkedIn 上关注我们,阅读更多我们发布的独家内容。