新闻宏观经济PHP 紧急修复威胁 Web 服务器的关键 "PHP2Shell" 漏洞

PHP 紧急修复威胁 Web 服务器的关键 "PHP2Shell" 漏洞

作者: TechNext24·

要点速览

  • •这两个漏洞 CVE-2026-109618 和 CVE-2026-109619 合称 PHP2Shell,CVSS 评分均为 9.2 分(满分 10 分),存在于 PHP 本身,而非 WordPress、Drupal 或 Joomla 等应用程序中。
  • •Wiz 演示了在登录前于 WordPress 和 Drupal 网站上执行代码的攻击,且其中一个漏洞还可能泄露正在运行的 PHP 进程的内存,攻击者无需任何账户。
  • •受影响的版本可追溯至 PHP 5.4,修复版本为 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35。
  • •漏洞技术细节在计划披露前一天泄露,促使 PHP 于 10 月 21 日提前发布修复程序,Cloudflare 已报告早期利用尝试。
  • •更新 WordPress、Drupal、Joomla 或插件无法修复这些漏洞;PHP 表示没有完整的缓解措施,安装打过补丁的 PHP 版本是唯一安全的选择。
PHP 紧急修复威胁 Web 服务器的关键 "PHP2Shell" 漏洞

PHP 已发布紧急安全更新,修复两个关键漏洞,这些漏洞可能让攻击者无需登录即可在 Web 服务器上运行恶意代码。

这两个漏洞编号为 CVE-2026-109618 和 CVE-2026-109619,合称 PHP2Shell,存在于 PHP 本身——即 WordPress、Drupal 和 Joomla 等网站与应用程序背后的编程语言。每个漏洞在通用漏洞评分系统(CVSS)中的评分均为 9.2 分(满分 10 分),均属于严重级别。

什么是 PHP2Shell?

PHP 运行在 Web 服务器上,负责处理访客请求、从数据库提取信息、处理表单并生成页面。据安全公司 Qualys 称,PHP2Shell 包含两个漏洞,涉及该语言处理内存和 Web 请求状态的方式。这些漏洞存在于 PHP 本身,而非 WordPress、Drupal 或 Joomla。

WordPress 在发布于 X 的一篇帖子中表示,这些漏洞影响任何托管 PHP 应用程序的服务器,且不需要也不会有 WordPress 更新。由于服务器上的每个应用程序都依赖同一个运行时环境,一个打过补丁的 PHP 即可为所有应用程序填补缺口——而一个未打补丁的运行时则会让所有应用暴露于风险之中,无论其应用程序和插件多么新。

第一个漏洞 CVE-2026-109618 出现在 PHP 在请求处理过程中内存耗尽、数据处于半初始化状态时。第二个漏洞 CVE-2026-109619 则发生在 PHP 在底层内存已被释放后仍继续指向请求数据时。

报告这些漏洞的公司之一 Wiz 表示,其已演示了在登录前于 WordPress 和 Drupal 网站上执行代码的攻击。该公司还补充说,其中一个漏洞还可能泄露正在运行的 PHP 进程的内存。攻击者无需任何账户,后续影响取决于服务器的配置以及被入侵的 PHP 进程所拥有的权限。

谁受到影响?

PHP 在其公告中表示,任何处理 Web 请求的安装均存在风险,包括 PHP-FPM、搭载 mod_php 的 Apache、php-cgi、FrankenPHP 和 LiteSpeed。该项目表示,搭载 mod_php 的 Apache 风险最高,并指出一个已演示的漏洞利用可让未经身份验证的请求在任何应用程序代码运行之前触发攻击——这意味着触发因素并不依赖于托管网站自身代码中的任何弱点。\nWiz 表示,受影响的版本可追溯至 PHP 5.4——涵盖了大量长期运行的旧版服务器。修复版本为 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35。PHP 8.1 及更早版本不再从该项目获得更新,不过 PHP 为自行编译源代码或没有供应商支持的用户提供了针对 7.4、8.0 和 8.1 的最低限度源代码向后移植。

PHP 还表示,8.2 分支将在年底前停止安全修复,因此使用该分支的用户应计划升级。部分 Linux 发行版和供应商可能会将修复向后移植到较旧版本;管理员应查看其安全公告,若无可用的移植版本,则应计划迁移到受支持的版本。捆绑自带 PHP 的产品、容器和托管面板需要单独更新。

据安全公司 Huntress 称,这些漏洞的细节在计划披露的前一天在线泄露。PHP 因此提前发布,并于 10 月 21 日公布了修复程序。

另一家安全公司 Sansec 表示,随着补丁和技术分析文章公开,预计将出现大规模利用。该公司指出,Cloudflare 已报告早期攻击。随着技术细节公开且攻击已被记录,防御者当前需要重点关注的是针对尚未更新服务器的利用尝试。

如何应对

更新 WordPress、Drupal、Joomla 或插件无法修复 PHP 本身的漏洞。管理员可以采取以下步骤:

更新 PHP。 通过软件包管理器安装修复版本,然后确认 Web 服务器正在使用该版本。WordPress 用户可以在 工具 > 站点健康 > 信息 > 服务器 下查看自己的版本,许多主机也会在其控制面板中显示该信息。

检查所有安装。 检查容器、控制面板以及任何捆绑自带 PHP 的应用程序。

询问主机商。 在共享主机环境中,PHP 可能不在运营者的控制范围内。请询问供应商是否已打补丁,切勿想当然。WordPress 表示,主机商可能已在打补丁并添加防火墙规则,但仍建议与主机商确认。

留意你的软件源。 Sansec 警告称,PHP 服务器上常用的 Remi 软件源在发布当日尚未包含该修复,并建议使用发行版的软件包或从源代码编译。

缓解措施仅作权宜之计。 PHP 表示没有完整的缓解措施,更新是唯一安全的选择。诸如限制请求大小和关闭上传跟踪等措施并不能保证安装环境安全。

检查是否已被入侵。 查找由 PHP 启动的异常进程、陌生文件和可疑的出站连接。打补丁无法清除已经植入的恶意软件。

普通访客无法修复这些漏洞,因为它们存在于服务器上,而非手机或笔记本电脑上。这并不意味着每个 PHP 网站都已被入侵,但更新到修复版本是唯一彻底的解决办法。