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,它才是关键。
- 以管理员身份登录,进入 报告 → 状态报告(
/admin/reports/status)。 - 找到 PHP 一行——它显示的是 Web 服务器使用的版本。
- Drupal 7 网站也在同一位置显示。
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.12 | 8.5.12 |
| 8.4 | < 8.4.27 | 8.4.27 |
| 8.3 | < 8.3.36 | 8.3.36 |
| 8.2 | < 8.2.35 | 8.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。
相关页面
- PHP2Shell 是什么?用大白话讲清楚 PHP 是什么、远程代码执行是什么意思、PHP2Shell 为什么严重,以及网站站长和 SaaS 用户实际该做什么。
- 主机商使用虚拟主机或托管主机时你无法自己升级 PHP。如何在 cPanel、Plesk 等面板里查看和切换 PHP 版本、各主机商的公开表态,以及该向他们问什么。
- 修复 / 打补丁PHP2Shell 分步修复:Ubuntu、Debian、Sury、RHEL、Remi、Alpine、Docker、cPanel EasyApache、Plesk、Homebrew、Windows,以及重启、验证和 PHP 8.1 及更早版本的出路。
- WordPress你的 WordPress 网站受 PHP2Shell 影响吗?如何在“站点健康”里查看 PHP 版本、为什么更新插件没用,以及发给主机商的工单模板。
- Drupal你的 Drupal 网站受 PHP2Shell 影响吗?如何在状态报告或用 Drush 查看 PHP 版本、为什么升级 Drupal 不能修复,以及该向主机商问什么。
- Joomla你的 Joomla 网站受 PHP2Shell 影响吗?如何在“系统信息”里查看 PHP 版本、为什么升级 Joomla 不能修复,以及该向主机商问什么。