记录主机体验,分享建站经验RSS 订阅 ↗

PHP 两个 9.2 分高危漏洞已修复:版本清单与服务器升级步骤

PHP 四个分支的安全修复版本

PHP 的两项 CVSS v4.0 评分 9.2 的高危漏洞已于 2026 年 10 月 21 日获得官方修复。若你维护 WordPress、Laravel、面板建站或自己的 PHP 网站,现在最重要的事是确认承载真实 Web 请求的 PHP 运行时已经安装补丁,而不是只看终端里 php -v 的版本。

哪些版本已经修复?

PHP 分支 官方修复版本 管理员应做什么
8.5 8.5.12 升级同分支安全版
8.4 8.4.27 升级同分支安全版
8.3 8.3.36 升级同分支安全版
8.2 8.2.35 升级同分支安全版,并规划版本迁移

PHP 官方安全公告指出,CVE-2026-109618 与 CVE-2026-109619 可能导致未经身份验证的远程代码执行。前者与内存不足情况下的对象状态清理有关,后者与请求之间残留的内部状态有关。风险覆盖 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed 等不同部署方式,官方特别提示 Apache mod_php 风险突出。不要把应用层 WAF 或临时拦截规则当成完整修复手段。

官方来源:PHP 安全公告及各分支发布记录。PHP 8.1 及更早版本已经不再由 PHP 项目提供常规安全更新;如使用 Linux 发行版延长支持包,需查该供应商是否已回移补丁,不能只凭显示的上游小版本号判断安全状态。

先确定网站到底在用哪个 PHP

在获得服务器管理员权限并安排好变更窗口后,先从 SSH 检查命令行版本和服务类型。以下命令只用于查看,适合常见 Debian/Ubuntu 主机:

php -v
systemctl list-units --type=service --all | grep -Ei 'php.*fpm|apache2|lsws'
dpkg -l 'php*' | grep '^ii'

第一行只能确认 CLI;网站可能使用另外一套 PHP-FPM、Apache 模块、面板独立环境或容器镜像。请对照 Web 服务器配置、站点面板的 PHP 版本选择、容器镜像标签或服务池配置,找出真正处理请求的实例。共享虚拟主机用户一般无权限升级 PHP 核心,应向服务商确认底层修补进度及切换计划。

PHP 服务器应急修复操作顺序示意

Debian / Ubuntu 上的安全更新顺序

备份站点文件、数据库、PHP 配置和可回滚的软件包信息后,再查看发行版的软件源是否已经发布更新。下列为操作范例,不代表所有发行版都有同名包;请先核对软件源与实际 PHP 分支:

sudo apt update
apt list --upgradable 2>/dev/null | grep -Ei '^php|php[0-9]'
apt-cache policy php8.4-fpm
sudo apt upgrade

示例中的 php8.4-fpm 仅适用于真正安装该包的服务器;其他 PHP 分支、第三方仓库、Docker 和商业面板应走各自的安全更新机制。执行升级会改变系统软件包并可能触发服务重启,切勿在没有备份和维护窗口的生产环境直接照搬。

完成更新后,检查实际 Web 使用的 PHP-FPM/Apache/容器运行时,必要时按维护手册重启相关服务,再访问站点的首页、登录、支付或提交表单等关键路径。监测错误日志、HTTP 5xx 和站点监控;如出现兼容性问题,应根据预先留存的包版本、快照和备份制定回退,但不能为了恢复业务长期退回未修复且暴露公网的运行时。

为什么已经 apt upgrade,还不能直接宣布安全?

  • 仓库尚未同步:软件包版本未发生变化时,查看供应商的安全通告和变更日志。
  • 多套 PHP 共存:CLI 已更新,Nginx/Apache 指向的 FPM 池可能仍在旧分支。
  • 容器或面板:宿主机更新不等于镜像或面板自带 PHP 更新,必须更新对应组件并重新部署。
  • 服务尚未重新加载:新二进制落盘但旧工作进程还在提供请求,需在允许的维护窗口安全重启。
  • 发行版回移补丁:版本号看起来旧,但包可能已经修补;以发行版安全公告与具体包构建号核对。

PHP 8.2 官方计划于 2026 年底结束安全维护,借这次升级也可以检查应用在 PHP 8.3/8.4/8.5 的兼容性。需要补充安装和服务配置背景,可以参看本站Ubuntu PHP 安装与配置文章。对于暂时无法完成修补的公网业务,应依据自身恢复能力采取隔离、限制访问或临时停止服务等应急措施,并持续关注 PHP 官方更新。

交流与讨论

留下你的看法

邮箱不会公开。带 * 的项目为必填项。