Joomla · PHP2Shell

我的 Joomla 网站受 PHP2Shell 影响吗?

很可能受影响,除非你的 PHP 已经修复。Joomla 是三个公开演示目标之一,但漏洞在 PHP 里——你的 Joomla 版本和扩展改变不了结论。

最后核实 2026-10-22

升级 Joomla 修复不了这个问题

PHP2Shell 在 PHP 本身,位于 Joomla 之下。研究人员已在官方镜像 joomla:latest 上演示了无需认证的远程代码执行。关键在于你的服务器运行的 PHP 版本,而只有管理服务器的人才能升级它。

1. 在 Joomla 中查看 PHP 版本

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

  1. 登录管理后台。
  2. 打开 系统 → 系统信息。
  3. 在 系统信息 标签页中查看 PHP 版本。
命令行(显示的是 CLI 的 PHP——可能与 Web 服务器不同)
php -v
php cli/joomla.php --version   # Joomla 4/5 console (shows the Joomla version)

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 或更早版本,请告知可以切换到哪个已修复的版本。

谢谢!

Joomla 托管主机

大多数 Joomla 网站运行在使用 cPanel、Plesk 或 DirectAdmin 的虚拟主机上。在面板中切换到最新的 PHP 版本,并请主机商确认已安装修复后的构建。我们没有逐一核实各主机商的情况。

4. 打补丁之后

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

常见问题

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

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

升级 Joomla 能修复 PHP2Shell 吗?+

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

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

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

Joomla 安全扩展能保护我吗?+

不能。扩展运行在 Joomla 内部,此时 PHP 已经解析完请求——而有漏洞的代码在那之前就运行了。在网站前面加 WAF 有帮助;升级 PHP 才是修复。

我还在用 Joomla 3,怎么办?+

Joomla 3 网站通常运行在 PHP 7.4 或 8.0 上,这些版本不会再有新的 PHP 发布。可以先请主机商提供回移植构建作为临时办法,并规划迁移到运行在 PHP 8.4 或 8.5 上的 Joomla 5。

相关页面