WordPress 修复在野利用漏洞,更新过程仍可能短暂暴露站点

Mores的头像Mores
WordPress 修复在野利用漏洞,更新过程仍可能短暂暴露站点

安全公司 Picus Security 研究员 Umut Bayram 指出,WordPress 站点在安装一个已被在野利用的漏洞补丁时,更新过程本身可能带来新的暴露风险:解包环节仍依赖站点上已有的旧代码,攻击者若在临时目录被清除前找到其名称,就可能访问安装程序并在服务器上执行任意代码。

该漏洞编号为 CVE-2026-119977,影响 WordPress 4.7 至 7.1.3 版本。WordPress 上周发布 7.1.4 及回溯至 4.7 的对应更新,美国网络安全和基础设施安全局(CISA)已将这一漏洞列入已知被利用漏洞清单。

更新过程中的暴露窗口

按照 WordPress 的常规更新流程,核心更新会把新版本文件解压到 wp-content/upgrade 目录下的一个临时文件夹,这一过程使安装程序对 Web 服务器可访问。Picus Security 研究员 Umut Bayram 指出,无需任何账户的攻击者只要在 WordPress 清除该文件夹之前识别出其名称,就能访问安装程序,进而获得在服务器上运行自己代码的能力。

问题在于解包环节仍调用站点上已有的旧版代码。WordPress 上周发布的 7.1.4 将临时文件夹的命名改为随机字符串,但更新器代码显示,解包过程依旧依赖旧代码;在 5.9 及之后的安装中,这段旧代码会依据下载文件为文件夹命名,形成最终可预测的命名方式。

在补丁发布前,攻击者还可能利用安装程序向临时存储注入新的 wp-config.php 配置文件,随后更新会用这个恶意版本替换合法配置文件。新版本已阻止这一操作,因为 WordPress 在安装更新时使用改进后的代码传输文件。测试显示,可利用该漏洞的时间窗口仅有数秒。

漏洞影响范围与修复

WordPress 上周发布 7.1.4,并为回溯至 4.7 的各个分支提供对应更新,相关细节载于安全公告。美国网络安全和基础设施安全局(CISA)本周早些时候已将这一漏洞列入已知被利用漏洞清单,但未公布攻击的具体情况。

负责分配该 CVE 编号的 WordPress 安全公司 Wordfence 表示,在其发布相关防火墙规则的当天就观察到攻击尝试。两个流量最大的来源持续扫描网站集群约 14.5 小时,显示攻击者有意配合站点更新时机发动攻击。该漏洞在 CVSS 评分中获 8.1 分(满分 10 分),属严重级别;不过 WordPress 的安全公告给出的评级相对较低。

近几日,与该漏洞相关的可利用代码已出现在公开的 GitHub 仓库中。其中一个仓库声称适用于在全量包更新期间使用可预测文件夹结构的站点,但其有效性尚未得到验证。WordPress 4.6 及更早版本已不再获得安全更新,Bayram 指出该问题可追溯至 2008 年发布的 WordPress 2.7,建议这些用户迁移到受支持的版本。

哪些站点风险更高

并非每次更新都会暴露安装程序。风险主要与包含安装程序文件的完整包有关;针对特定旧版本制作的精简部分包只有在自身包含这些文件时才构成风险。Bayram 在 11 月 6 日向 The Hacker News 表示,部分更新带来的暴露取决于具体包的内容:部分更新只包含两个版本之间发生变化的文件,若其中没有安装程序文件,临时安装就无法作为真正的 WordPress 环境运行,安装程序也就无法访问。

The Hacker News 对 WordPress.org 更新服务的核查显示,同一分支内的更新,例如从 7.1.3 到 7.1.4,通常使用适合自动更新的部分包;而跨分支升级,例如从 7.0.7 到 7.1.4,则只提供完整包。此外,当检测到核心文件校验和不一致或更新属于重新安装时,WordPress 会改用完整包。

在 4.4 至 5.8 版本中,旧代码会为文件夹名称随机追加字符,除非通过错误信息泄露,否则其名称不易被发现。Bayram 强调,决定风险的关键并非部分包与完整包之别,而是站点上现有的更新器是否已经修复。启用自动更新的站点会通过同一更新机制应用修复。

更新前的防护建议

Bayram 的首要建议是禁止 Web 服务器访问 wp-content/upgrade 文件夹。由于 WordPress 直接在磁盘上与该文件夹交互,这一限制不会中断更新。在 Nginx 中可添加 location ^ /wp-content/upgrade/ { deny all; };在 Apache 中可在该文件夹对应的 directory 块内加入 Require all denied。

若只能修改 .htaccess,可在 WordPress 根目录的 .htaccess 中、重写规则之前追加 RedirectMatch 403 ^/wp-content/upgrade/。不要在该文件夹内放置 .htaccess 文件,因为旧版更新器会在解包前清空该文件夹的全部内容,届时该文件已不存在。配置完成后应验证访问 /wp-content/upgrade/ 会返回 403 错误。

另一种稳妥做法是在 Web 服务器根目录之外手动更新:备份站点文件和数据库,在服务器无法访问的目录中解压新版本,转移核心文件时保持 wp-config.php 与 wp-content 不变,再运行 WordPress 数据库更新。这样可避免在服务器可访问的目录中产生任何临时安装。不建议依赖 WP-CLI 的 wp core update 命令,因为它使用同一更新流程,并在同一文件夹内解包文件。

攻击迹象与排查

对于补丁发布后尚未更新的站点,Wordfence 建议排查以下迹象:针对 wp-content/upgrade 内 PHP 文件的异常请求、未知的管理员账户、不熟悉的插件,以及并非由管理员手动放入 wp-content/upgrade 的 PHP 文件。

CISA 的清单更新反映了已存在活跃利用尝试的发现,但攻击的具体细节尚未披露。Wordfence 的攻击分析则记录了防火墙规则上线后不久出现的扫描活动,表明攻击者可能在站点执行更新的时刻集中尝试利用。

要点

  • 漏洞编号 CVE-2026-119977,影响 WordPress 4.7 至 7.1.3
  • WordPress 已发布 7.1.4 及回溯至 4.7 的修复版本
  • CISA 已将漏洞列入已知被利用漏洞清单
  • CVSS 评分为 8.1,测试显示可利用窗口仅数秒
  • 建议更新前限制对 wp-content/upgrade 目录的访问

原文链接

更多快讯

全部快讯
  1. React Server Components 曝9.5分高危漏洞,可远程执行代码
  2. Zyxel GS1900 交换机零日漏洞遭利用,996 台设备受影响
  3. Web3Auth 漏洞波及 Keplr 社交登录钱包,Cosmos 网络转出约 601 万⁠美⁠元
  4. 日本灾害预警服务商 Arcadia 遭入侵,被用来群发142万封钓鱼邮件
  5. OpenSSH 高危漏洞 SSHole 披露后数小时即遭利用,蜜罐被获取 root 权限

0 条回复

A文章作者M管理员
上传评论图片

暂无讨论,说说你的看法吧