首页 经验技巧分享 标准文章

标准文章

紧急预警!PHP 爆出 RCE 高危漏洞(CVSS 9.2):手把手教你安全升级 PHP 8.2/8.3/8.4 环境

近日PHP 官方发布紧急安全公告,披露了两个严重程度高达 CVSS 9.2 的远程代码执行(RCE)漏洞,影响包含 PHP 8.2、8.3 在内的多个主流分支。并且已经于2026年10月21日晚发布了修复后的PHP版本。本文将简要分析漏洞风险,并为你提供不…

更新于 2026年10月22日 约 7 分钟阅读
紧急预警!PHP 爆出 RCE 高危漏洞(CVSS 9.2):手把手教你安全升级 PHP 8.2/8.3/8.4 环境

近日PHP 官方发布紧急安全公告,披露了两个严重程度高达 CVSS 9.2 的远程代码执行(RCE)漏洞,影响包含 PHP 8.2、8.3 在内的多个主流分支。并且已经于2026年10月21日晚发布了修复后的PHP版本。本文将简要分析漏洞风险,并为你提供不同服务器环境下平滑升级 PHP 的详细操作指南。

一、 事件背景:PHP 官方发布 CVSS 9.2 紧急补丁

2026 年 10 月21日,PHP 官方安全团队紧急推送了一批安全修复更新,修复了两个严重的未经身份验证远程代码执行(Unauthenticated RCE)漏洞:

  • CVE-2026-109618(内存溢出破坏漏洞)
  • CVE-2026-109619(全局状态残留漏洞)

这两个漏洞的 CVSS v4.0 评分高达 9.2 分,影响范围覆盖了几乎所有常见的 Web 运行环境(如 PHP-FPM、Apache mod_php、LiteSpeed、FrankenPHP 等)。攻击者在特定条件下,无需登录即可触发恶意代码执行,严重威胁服务器安全。

官方已紧急发布了修复补丁版本:

  • PHP 8.2 用户需升级至 8.2.35 或以上
  • PHP 8.3 用户需升级至 8.3.36 或以上
  • PHP 8.4 用户需升级至 8.4.27 或以上
  • PHP 8.5 用户需升级至 8.5.12 或以上

对于大部分站长和运维人员来说,最彻底、最安全的解决办法就是尽快将服务器上的 PHP 升级到最新的安全版本。

二、 升级 PHP 前的关键准备工作

在执行任何服务器升级操作前,请务必做好以下防护措施,防止因版本变动导致网站业务中断:

  1. 全站与数据库备份:通过快照、WP Panel备份、宝塔备份或 mysqldump 备份完整数据。
  2. 检查插件/主题兼容性:如果是 WordPress 站点,请确保核心及插件均已更新到最新版(特别是 PHP 8.2/8.3 跨版本升 8.4 时)。
  3. 记录旧版 php.ini 配置:重点记录 upload_max_filesize、memory_limit、opcache 以及扩展加载项(如 Redis、Swoole 等),防止升级后配置被覆盖。

三、 不同环境下升级 PHP 的操作指南

1. WP Panel面板

如果你使用的WP Panel并且配置了告警通知,那么面板会自动提醒你系统存在更新,登录WP Panel后台的设置界面,在系统更新处点击一键更新按钮即可完成修复。(如果没有出现,就手动点击刷新让系统检测更新后再更新)

Wp panel apt update

更新完毕后,在软件管理界面,看到PHP版本变为8.3.36,则代表已经成功修复这两个bug。

Php8336

2. 宝塔面板

宝塔面板更新PHP

如果你使用的是宝塔或面板,升级步骤如下:

  1. 软件商店更新:登录面板,进入【软件商店】,先点击右上角的“更新软件列表”按钮刷新,然后在你使用的PHP版本后面点击更新按钮。
  2. 跨大版本替换(如 7.0 升至 8.3):如果你之前使用的老版本PHP,不在本次更新修复范围内,那么最好是直接安装修复后的版本,先卸载老版本PHP,然后安装修复后的新版本PHP,接着进入网站管理界面切换PHP版本为新版本(老网站的话切换PHP版本大概率有兼容问题需要额外修复)

3. Debian / Ubuntu 系统(PPA / 官方源)

使用 Linux 原生包管理器的服务器,可以直接通过官方源进行补丁覆盖升级:

Bash

# 1. 更新软件包列表
sudo apt update

# 2. 检查是否有 PHP 可更新版本
apt list --upgradable | grep php

# 3. 升级所有 PHP 相关软件包
sudo apt --only-upgrade install "php8.3*"

# 4. 重启 PHP-FPM 与 Web 服务器
sudo systemctl restart php8.3-fpm
sudo systemctl restart nginx

注:如果使用的是 Ondřej Surý 的 PPA 源,官方更新通常在发布后极短时间内就会同步。

4. RHEL / Rocky Linux / AlmaLinux (Remi 源)

Bash

# 1. 清理并更新 yum/dnf 缓存
sudo dnf clean all
sudo dnf check-update

# 2. 升级 PHP 及其扩展包
sudo dnf upgrade "php*"

# 3. 重启服务
sudo systemctl restart php-fpm
sudo systemctl restart nginx

5. Docker 容器化环境

如果你的应用部署在 Docker 或 Docker Compose 中,修复漏洞更加简单:

  1. 打开 docker-compose.yml 或 Dockerfile。
  2. 将 PHP 镜像版本拉取调整为最新小版本(如 php:8.3-fpm-alpine)。
  3. 执行拉取与重构:Bashdocker compose pull docker compose up -d --build

四、 升级后的验证与检查

升级完成后,可以通过以下两种方式验证修复是否生效:

  1. 命令行查看版本:Bashphp -v 确认输出的版本号已达到或高于 8.3.36(或对应分支的安全版本)。
  2. 检查 FPM / 探针输出: 创建一个临时 info.php 文件(测试完请立即删除):PHP<?php phpinfo(); ?> 在浏览器访问,确认网页端环境加载的确实是新的 PHP-FPM 版本,且相关扩展(如 Redis OPcache)正常开启。

五、 临时缓解方案(如无法立即升级)

如果由于业务依赖原因暂时无法立即升级 PHP 核心,可以先调整配置以降低攻击风险:

  1. 关闭 session 上传进度功能(缓解 CVE-2026-109619): 在 php.ini 中设置:Ini, TOMLsession.upload_progress.enabled = 0
  2. 合理限制请求体大小(缓解 CVE-2026-109618): 限制 post_max_size 为合理数值(如 16M 或 32M),并在 Nginx / Apache 层限制 client_max_body_size,防止超大请求直接打到 PHP 进程。

提示:临时方案仅能部分阻断已知攻击路径,及时升级官方安全补丁才是唯一彻底的解决办法。

总结

随着AI的发达,越来越多以前没有发现的漏洞被发现,WordPress的运行也依靠PHP,所以即便你网站本身没有安全问题,但是你没有安装修复本次漏洞的PHP版本,那么网站也可能被黑客入侵,从而把“不安全”这个标签打到WordPress身上。

为了你的网站和服务器安全,赶紧去升级吧,如果不会升级,可以联系服务商售后获取帮助,或者找奶爸付费处理。

5/5 - (1 vote)
上一篇 WordPress 网站中毒怎么排查?一次同服务器跨站感染的完整查杀记录 继续阅读同一时间线附近的内容。

参与讨论

欢迎补充经验、提出问题或指出需要更新的地方。