Drupal · PHP2Shell

我的 Drupal 网站受 PHP2Shell 影响吗?

很可能受影响,除非你的 PHP 已经修复。Drupal 是研究人员用 PHP2Shell 攻下的第一个应用,但漏洞在 PHP 里,你的 Drupal 版本和模块改变不了结论。

最后核实 2026-10-22

升级 Drupal 修复不了这个问题

PHP2Shell 在 PHP 本身,位于 Drupal 之下。研究人员已在官方镜像 drupal:latest 上演示了无需认证的远程代码执行——Drupal 是 2026 年 8 月 20 日首个被证实的目标。关键在于你的服务器运行的 PHP 版本,而只有管理服务器的人才能升级它。

1. 在 Drupal 中查看 PHP 版本

这里显示的是真正为你的网站提供服务的 PHP,它才是关键。

  1. 以管理员身份登录,进入 报告 → 状态报告(/admin/reports/status)。
  2. 找到 PHP 一行——它显示的是 Web 服务器使用的版本。
  3. Drupal 7 网站也在同一位置显示。
命令行(显示的是 CLI 的 PHP——可能与 Web 服务器不同)
drush status --field=php-version     # Drush (CLI PHP)
drush php:eval 'echo PHP_VERSION, PHP_EOL;'

2. 对照检查

粘贴版本号、php -v 的输出,或每行一个版本批量检测整批服务器。完全在你的浏览器内运行。

试试:

CLI 和 Web 服务器可能使用不同的 PHP 构建。请检查 Web 服务器实际使用的版本:php-fpm -v(或 php-fpm8.3 -v),或在该站点上访问 phpinfo()。

分支存在漏洞修复版本
8.5< 8.5.128.5.12
8.4< 8.4.278.4.27
8.3< 8.3.368.3.36
8.2< 8.2.358.2.35
8.1 · 8.0 · 7.4全部仅源码回移植
5.4 – 7.3全部无修复

3. 让它被修复

虚拟主机或托管主机

由主机商负责升级 PHP。在主机面板中选择最新的 PHP 版本,然后请主机商确认已打补丁并重启。主机商指南 →

自有服务器、VPS 或容器

由你(或你的开发者)升级 PHP 并重启 PHP-FPM / Apache。修复指南 →

发给主机商的邮件
主题:PHP2Shell(CVE-2026-109618 / CVE-2026-109619)修复情况确认

您好,

请确认运行我的网站 <域名> 的 PHP 运行环境,已经升级到修复
CVE-2026-109618 和 CVE-2026-109619 的版本(PHP 8.2.35 / 8.3.36 /
8.4.27 / 8.5.12,或包含回移植补丁的厂商构建),并且升级后已重启
PHP-FPM / LSAPI worker。

如果我的账户还在使用 PHP 8.1 或更早版本,请告知可以切换到哪个已修复的版本。

谢谢!

Drupal 托管主机

Acquia、Pantheon 等 Drupal 平台会替你管理 PHP。我们没有核实它们的修复情况——请查看其状态页或联系支持,或发送上面的消息。

用 Docker 自建?请基于已修复的 php 基础镜像重新构建,或拉取重新构建的 drupal 镜像,并在部署前确认容器内的 PHP 版本。

4. 打补丁之后

  • 再次在 Drupal 中查看 PHP 版本——应显示已修复的版本(或请主机商确认是带回移植补丁的构建)。
  • 如果网站已暴露了一段时间,请修改管理员密码和网站配置中保存的 API 密钥,并检查是否有陌生的管理员账号或新出现的 PHP 文件。入侵排查指南 →

常见问题

我的 Drupal 网站受 PHP2Shell 影响吗?+

如果它运行在低于 8.5.12、8.4.27、8.3.36 或 8.2.35 的 PHP 上(且主机商没有安装已修复的软件包),就受影响。Drupal 的版本、主题和扩展都无关紧要——漏洞在 PHP 里。

升级 Drupal 能修复 PHP2Shell 吗?+

不能。Drupal 的更新改的是应用本身,而不是底层的 PHP 运行环境。Drupal 仍要保持更新,但修复需要由管理服务器的人升级 PHP。

攻击者需要管理员账号吗?+

不需要。已演示的攻击都发生在认证之前:不需要登录,不需要特定插件或模块,只要向网站发送 HTTP 请求。

Drupal 有针对 PHP2Shell 的安全公告吗?+

PHP2Shell 不是 Drupal 的漏洞,所以 Drupal 核心的新版本修复不了它。请关注 PHP 官方公告以及主机商或操作系统厂商的运行环境更新。

Drupal 7 有什么不同吗?+

对这个漏洞没有区别,但 Drupal 7 网站往往运行在旧版 PHP(7.4 或更早)上,这些版本不会再有新的 PHP 发布。这类网站需要迁移 PHP——通常也意味着要升级 Drupal。

相关页面