本文来自: Decrypt

编译|Odaily 星球日报( @OdailyChina );译者|Moni

编者按:PHP 近日曝出两项严重安全漏洞,CVSS v4 评分均达 9.2 分,攻击者无需登录即可在受影响服务器上执行恶意代码,甚至完全接管服务器。芬兰、法国、荷兰等多国已采取网站临时下线等防范措施,PHP 官方也紧急发布修复版本。此次漏洞涉及多个 PHP 旧版本,安全机构警告,补丁公开后可能迅速引发大规模攻击。

昨晚,日本首相高市早苗在 X 上发布“需要大家紧急应对的重大请求”,提示 PHP 相关风险。

本文将梳理漏洞原理、影响范围及事件进展,并解析网站运营者和普通加密用户应采取的应对措施,由 Odaily 星球日报编译。

但凡你这两天上过网,大概率已经刷到了这场网络恐慌: 一项严重漏洞正威胁着全球几乎所有网站 ——芬兰宣布关闭政府网站,美国国家安全局(NSA)建议所有使用 PHP 的组织关闭其网站,荷兰和法国也采取了同样的措施。

然而,这并不是一场网络战,而是 PHP 被爆出两大安全漏洞。

PHP 是运行在网站服务器端的后台软件,你可以把服务器是一台存储网站内容、并根据用户请求生成网页的计算机,据 WordPress 安全公司 Wordfence 介绍,每个 WordPress 网站背后都有一台运行 PHP 的服务器。

顺便说一句,Wordfence 自己的网站也宕机了。

PHP 漏洞为什么会让人担忧?实际上, 相关漏洞可以让陌生人在无需登录的情况下,直接在服务器上执行自己的命令 。安全行业将这类漏洞称为“未授权远程代码执行”(Unauthenticated Remote Code Execution,RCE)。

用更通俗的话说,就是“现在,别人可以替你操控服务器了”。

如果服务器存储着你的账户信息、地址或订单历史,那么这些数据也可能落入攻击者手中。 网络托管服务商 GoDaddy 警告称,这些漏洞可能被用于窃取数据、篡改网站页面,允许攻击者通过互联网在受影响的服务器上执行自己的代码,进而导致数据被盗、甚至完全控制服务器。

PHP 官方发布了什么消息?

负责资助 PHP 语言开发的非营利组织 PHP 基金会(PHP Foundation)已发出警报:

PHP 安全团队提前通知:计划于 2026 年 10 月 21 日(周三)14:00 UTC 发布安全更新,其中包含两个严重漏洞,两者的 CVSS v4 评分均为 9.2,建议 PHP 用户提前做好更新准备。如果相关细节提前公开,或出现漏洞正在遭到主动利用的证据,更新可能提前发布。”

这里的 9.2 分来自通用漏洞评分系统(CVSS),该系统会根据漏洞能否轻易通过互联网触达、可能造成多大损害等因素,评估漏洞的危险程度。评分范围为 0 至 10 分,9.0 分及以上即被归类为严重漏洞。因此,在没有达到满分 10 分的情况下,这两项漏洞的危险程度已经相当高。

周三 PHP 提前几分钟发布了修复版本,分别为 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35,同时确认此次漏洞影响 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 和 LiteSpeed 等处理 Web 请求的 PHP 环境,其中 Apache mod_php 风险尤为突出,攻击可在应用程序代码运行前触发。

然而,官方安全公告毫不含糊地强调:“ 强烈建议所有 PHP 用户立即更新。 ”

但发布修复程序,并不意味着所有用户都已经完成修复,因此仍需保持警惕。

这些漏洞是如何运作的?

第一个漏洞 CVE-2026-109618 出现在 PHP 处理请求时内存耗尽的情况下。此后,PHP 可能会将一份尚未完整构建的数据当作已经完成的数据来处理。

第二个漏洞 CVE-2026-109619 则会导致某个访问者请求留下的残余数据,在本应被清除后仍然滞留在内存中,使后续请求可能受到这些残余数据的影响。

你可以把这种情况想象成一名厨师,始终在读取已经被扔进垃圾桶的点菜单,可如果有人往垃圾桶里塞进一张伪造的菜单,厨师就会照着上面的内容做菜。在本次漏洞中,“菜单”就是攻击者的恶意代码,而服务器会执行这些代码。

PHP 表示,使用一种常见 Apache 配置方式 mod_php 的服务器面临的风险最高。在这种配置下,已经演示的攻击甚至可以在“任何应用程序代码运行之前”执行。

换句话说, 网站自身的防御机制 ,例如登录页面和 WordPress 安全插件, 甚至还没来得及启动 。

PHP 基金会的研究人员指出,PHP 的上传进度跟踪功能是已经确认的一种攻击入口。该功能用于追踪文件上传的进度,默认启用至今已有十多年,但实际上很少有网站真正使用它。

漏洞信息泄露,攻击随后出现

这些漏洞的相关信息原本不应该这么早公开。实际上,本周二就有人在 Hacker News 论坛发帖称,两项 PHP 漏洞原计划于当周周四披露,同时承认自己“除了‘消息来源:信我就对了,兄弟’之外,没有任何证据”。

事实证明,这位网友说对了。

安全公司 watchTowr 确认,这两项漏洞确实存在,而且当时仍处于 披露禁令期 (embargo),也就是在修复方案准备就绪之前,各方约定暂不公开漏洞细节。随后,PHP 将更新发布时间提前了一天。

Cloudflare 首席技术官 Dane Knecht 周三凌晨在 X 平台发文称:“我们已经观察到早期攻击开始出现,并正在随着新攻击路径的出现,不断更新缓解措施。”

这条消息发布时,距离补丁正式发布还有近六个小时。

Cloudflare 随即向所有客户推送了紧急防火墙规则,通过过滤器拦截已知攻击模式。不过,Dane Knecht 强调,这些措施“只能作为临时应对手段”。

各国政府紧急按下关闭键

据芬兰公共广播公司 Yle 报道,芬兰国家 IT 中心 Valtori 出于预防目的,开始将公共网络服务下线。荷兰国家网络安全机构也关闭了自己的网站。

法国方面,内政部表示,在相关框架的发布方推出安全补丁之前,各省政府网站已“暂时下线”。

欧盟网络应急响应团队 CERT-EU 则建议,对于暂时无法安装补丁的组织,应“考虑将面向互联网的应用程序与公共网络隔离,直至修复方案可用”。

随后,澳大利亚、日本和英国的相关机构也发布了大致相同的建议。

用通俗语言表达,就是“拔网线”。

X 平台上的一些热门帖子声称,PHP “自 2004 年以来的所有版本”都存在漏洞。

这一说法源自早期估计,即 PHP 5 及之后的所有版本均受到影响。但 CERT-EU 承认,这一估计依据的是社交媒体上的帖子。

电商安全公司 Sansec 则认为,受影响的版本范围从 PHP 5.4 开始,涵盖此后的版本。这意味着漏洞影响范围最早可追溯至 2012 年,而不是 2004 年。不过,这仍然涉及相当古老的软件版本。

PHP 官方目前仅为 PHP 8.2 及更新版本提供正式发布的版本更新。因此,“旧版本没有修复方案”这一说法有一部分是正确的。

鉴于此次漏洞的严重程度,PHP 安全团队还为 PHP 7.4、8.0 和 8.1 发布了精简的源代码补丁。各 Linux 发行版也正在将修复程序回移至各自维护的版本中。

安全公司 Mallory 统计发现,截至 10 月 20 日,约有 88.4 万台面向互联网、对外显示 PHP 8.1 或更早版本的主机。这些主机约占公开显示版本信息的 150 万台主机的 59%。

由于一台共享主机可以承载许多网站,因此实际受影响的网站数量可能更高。

一些网络帖子还将 Node.js 一并列入受影响范围。Node.js 是另一种不同的 Web 技术,只是恰好也安排在同一天发布一项与此次事件无关的安全更新。时间撞车造成了混淆。

即便已经发布补丁,也不意味着所有服务器都能立即完成更新。

PHP 基金会在声明中表示:“如果你依赖由志愿者维护的 https://rpms.remirepo.net,我们强烈建议你现在就切换到 Linux 发行版官方软件包,或者自行从源代码构建,以便立即应用更新。该软件包仓库今天不会发布更新。”

该声明指的是一个颇受欢迎的软件包来源,由志愿者维护,主要面向采用 Red Hat 风格的 Linux 服务器。

加密用户需要担心吗?

坦率滴说,普通用户不必马上恐慌,但也不应该对此掉以轻心。

例如, 网站遭到入侵,并不需要直接攻击区块链,就能让你的钱包资产被盗 。

2024 年,攻击者曾将 DeFi 协议 Compound 和 Celer 的前端页面重定向至恶意页面,从而诱导用户连接钱包并盗取资产。2025 年,Curve Finance 也遭遇了类似攻击。

不过,这些事件属于 DNS 劫持,而非 PHP 漏洞,但其攻击手法具有相似之处: 网站看起来正常,网址也没有异常,但你点击的“批准”按钮,却可能将代币发送到其他地址。

如果服务器遭到入侵,攻击者同样可以向用户提供这种恶意页面。在利用零日漏洞方面,黑客往往能够迅速想出各种攻击手段。

与此同时,发现此类漏洞也变得越来越容易。先进的人工智能模型正越来越多地被用于发现软件漏洞。6 月,专家曾向 Decrypt 表示,随着这些工具逐渐普及,未来可能会出现更多漏洞。

接下来会发生什么?用户应该怎么做?

普通用户应该恐慌吗?

你的手机、浏览器和笔记本电脑并不都需要安装 PHP 补丁,真正需要采取行动的是运营你所访问网站的相关人员。 如果你运营着一个网站,应联系主机托管服务商,确认 PHP 是否已经更新。不要以为 WordPress 会自动替你完成这项工作:Wordfence 已经警告,自动更新机制不会自动应用此次修复,并建议网站所有者查明究竟由谁负责更新服务器上的 PHP。

如果您使用的是 PHP 8.2,那么您刚刚获得的修复程序可能是您最后的修复程序之一:该版本将于 2026 年 12 月 31 日停止维护,之后将不再获得安全补丁。此外,仍在使用 PHP 8.1 或更早版本的用户,需要制定升级计划。

PHP 基金会公布补丁会有一定程度的帮助,但是问题是,一旦补丁公开,攻击者就可以对比修复前后的代码,准确找出哪些问题得到了修复。网络安全公司 Sansec 的取证团队表示,预计“补丁发布后 15 分钟内就会开始出现大规模攻击”。

2024 年 6 月,另一项 PHP 漏洞公开后,Akamai 在 24 小时内就发现了针对其诱捕服务器的漏洞利用尝试。

正如 PHP 核心开发者 Gina Peter Banyard 在 Mastodon 上表示:“我唯一能说的是,唯一的缓解措施就是为 PHP 安装补丁或升级 PHP。遗憾的是,我知道得太多了。”

文章配图
文章配图
文章配图
文章配图