PHP2Shell 修复版本是多少?
每个分支升级到下表版本或更高:
| 分支 | 首个修复版本 |
|---|---|
| PHP 8.2 | 8.2.35 |
| PHP 8.3 | 8.3.36 |
| PHP 8.4 | 8.4.27 |
| PHP 8.5 | 8.5.12 |
| 8.1 及更早 | 无新发行版(7.4、8.0、8.1 有官方源码补丁) |
这些是 PHP 官方的“首个修复版本”,之后更新的小版本同样包含修复。发行版(Ubuntu、Debian 等)会把补丁回移进自己的包,版本号看起来可能还是旧的,要看完整的包版本:
| 供应商 | 版本 | 软件包 | 已修复的包版本 | 状态 |
|---|---|---|---|---|
| Ubuntu | 22.04 | php8.1 | 8.1.2-1ubuntu2.28 | 已修复 |
| Ubuntu | 24.04 | php8.3 | 8.3.6-0ubuntu0.24.04.13 | 已修复 |
| Ubuntu | 26.04 | php8.5 | 8.5.4-0ubuntu1.5 | 已修复 |
| Ubuntu | 26.10 | php8.5 | 8.5.9-0ubuntu2.1 | 已修复 |
| Debian | 13 | php8.4 | 8.4.27-1~deb13u1 | 已修复 |
| Docker Official Images | — | php | — | 未核实 |
| 宝塔 | — | PHP | — | 未核实 |
| XServer | — | PHP | — | 未核实 |
| ConoHa WING | — | PHP | — | 未核实 |
| ロリポップ! | — | PHP | — | 未核实 |
| 1Panel | — | 1panel/php | — | 未核实 |
核实于2026年10月21日至2026年10月22日。
8.1 及更老的分支没有新的官方发行版;PHP 官方为 7.4、8.0、8.1 提供了最小源码回移补丁,需要自己打补丁编译,见 PHP 停止维护版本。
我该看哪份 PHP2Shell 修复指南?
先弄清 PHP 归谁管、从哪装的:
| 你的环境 | PHP 归谁管 | 看这里 |
|---|---|---|
| 宝塔面板 | 面板自己安装管理的 PHP | 宝塔 PHP |
| 1Panel | 面板的 PHP 运行环境镜像 | Docker PHP 镜像(原理相同) |
| 虚拟主机、托管主机 | 主机商 | 本页“共享主机”一节 + 工单模板 |
| cPanel、Plesk | 主机商安装,你选择版本 | cPanel 切换 PHP 版本 |
| 自己的 Ubuntu / Debian 服务器 | 你自己,用系统包 | Ubuntu 升级 PHP |
| Docker 容器 | 你自己,用镜像 | Docker PHP 镜像 |
| 自行编译、停止维护版本 | 你自己 | PHP 停止维护版本 |
| WordPress 站长 | 看上面哪种托管 | WordPress PHP 版本 |
一台服务器上同时有系统 PHP 和面板 PHP 很常见。升级了系统包,网站却还在用面板那套,等于没修。不确定自己属于哪种,先用 PHP2Shell 检测 判断。
共享主机、虚拟主机没权限升级怎么办?
PHP 由主机商安装,你能做的是:
- 在面板或 WordPress 站点健康里查到当前 PHP 版本。
- 如果面板里能选到修复版本,切换过去(同分支优先,比如从 8.3 的旧版换到 8.3 的修复版)。
- 选不到,就把下面的工单发给主机商,要求给出版本和时间。
- 主机商回复后,回到网站再查一次版本。
不要默认主机商已经自动修好,也不要把“面板里能选 8.3”当成“8.3 已经是修复版”。
给主机商的工单怎么写?
直接复制,把方括号里的内容换成你的信息:
您好,我的网站 [你的域名] 托管在贵司。PHP 官方已针对 PHP2Shell 漏洞(CVE-2026-109618、CVE-2026-109619)发布安全修复版本。请帮忙确认:
- 我的网站当前使用的 PHP 版本;
- 是否已更新到修复版本(8.2.35、8.3.36、8.4.27、8.5.12 或更高),或包含该修复的软件包(如是,请告知包版本或公告链接);
- PHP worker 是否已重启;
- 如尚未更新,预计什么时候完成,期间有什么临时措施。
谢谢!
如果主机商说“已经打了补丁但版本号没变”,这可能是对的(发行版回移),请对方给出对应的软件包版本或安全公告。
升级 PHP 会不会把网站搞坏?
同一分支内的小版本升级(例如 8.3 的旧版升到 8.3 的修复版)以修复为主,兼容问题很少,但仍建议先备份——腾讯云的通告也建议升级前做好备份。跨分支升级(例如 7.4 升到 8.3)可能让老插件、老主题、老代码报错,一定要:
- 先完整备份网站文件和数据库;
- 在副本或测试环境上试;
- 升级后检查登录、上传、支付、计划任务这些关键功能,而不只是打开首页。
出了兼容问题,联系程序维护者处理,不要悄悄切回有漏洞的版本继续对外服务。
升级完怎么确认 PHP2Shell 修好了?
逐项检查:
- 重启了吗:PHP-FPM 进程池、Apache 都要重启,旧 worker 退出前还在跑旧代码。
- 网站看到的是新版本吗:用 WordPress 站点健康或面板里该网站绑定的 PHP 看,再填进 PHP 版本检测;命令行
php -v要在网站所在的主机或容器里运行,且只作参考。 - 每个网站、每台机器、每个容器都查了吗:一个站修好不代表同一账号、同一集群的其他站也修好了。
- 升级前暴露了一段时间吗:做一次 网站被黑检测。
今天来不及升级怎么办?
先做 临时缓解,同时认真考虑暂停网站或限制访问——日本、英国、美国的官方机构都建议过“无法立即更新就考虑下线”。临时措施和 WAF 只是争取时间,升级仍要尽快排期。
怎么跟老板、客户说明进度?
我们正在处理 PHP2Shell 漏洞。已检查 [网站/服务器],其中 [N] 个已升级到修复版本并重启,[N] 个等待主机商处理,预计 [时间] 完成。历史入侵检查:[未开始 / 进行中 / 未发现异常]。下次同步:[时间]。
修复进度和“有没有被入侵”分开汇报,不要承诺“所有网站绝对安全”。
依据哪些来源?
- The PHP Group:PHP 安全公告
- Canonical:USN-8948-1
- Debian:DSA-6574-1
- Docker 官方 PHP 镜像更新
- WordPress.org:升级 PHP
- WordPress.org:站点健康
- cPanel:MultiPHP Manager
- Plesk:PHP Settings
- 腾讯云:PHP “php2shell” 远程代码执行漏洞风险通告
来源
本页的核心事实(修复版本、CVE 详情、发行版软件包、官方机构的提醒)都来自官方来源;研究报告、新闻和社区讨论已分别标注。
- Security advisory: Critical remote code execution vulnerabilities, update now官方 The PHP Group
- USN-8948-1: PHP vulnerabilities厂商 Canonical
- DSA-6574-1 php8.4 security update厂商 Debian Security Team
- [security] Update to 8.5.12, 8.4.27, 8.3.36, 8.2.35厂商 Docker Official Images maintainers
- Update PHP官方 WordPress.org
- Site Health screen官方 WordPress.org
- MultiPHP Manager for cPanel厂商 cPanel
- PHP Settings厂商 Plesk
- 【安全通告】PHP "php2shell" 远程代码执行漏洞风险通告(CVE-2026-109618, CVE-2026-109619)厂商 腾讯云