2026-10-22 更新 · 官方已发布紧急补丁,本指南覆盖 Debian / Ubuntu / RHEL / 宝塔面板 / LNMP / Docker / FrankenPHP / LiteSpeed / macOS / Windows 等主流部署方式,命令均已实测验证。
一、漏洞速览
PHP 官方于 2026-10-21 紧急发布两个**无鉴权远程代码执行(RCE)**高危漏洞的修复,统称 PHP2Shell:
受影响环境:所有对外提供 Web 请求的 PHP,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed。其中 mod_php 风险最高——一个匿名请求在应用代码运行之前就可能触发攻击。
官方修复版本(务必升级到这些版本或以上):
⚠️ 漏洞代码在 PHP 引擎内部,升级 WordPress / Drupal / Joomla 核心、加 WAF 规则都修复不了它,只能升级服务器上的 PHP 运行时。
二、30 秒自查
php -v若版本低于上面表格中的修复版本,说明你正处于风险中。再确认 PHP 来源(决定走哪一节):
# Debian/Ubuntu 系dpkg -l 'php*' | awk '/^ii/{print $2, $3}'
# RedHat 系
rpm -qa 'php*' | sort
dnf module list --enabled php
三、各系统 / 部署方式修复方案
① Debian / Ubuntu(官方源)
官方源采用「回移补丁」方式:包版本号变化、PHP 版本号不变,务必对照表格确认包版本。
# 先看有哪些 PHP 升级待装sudo apt-get update
apt list --upgradable 2>/dev/null | grep php
# 只升级 PHP 相关包(把 8.3 换成你自己的版本号)
sudo apt-get install --only-upgrade 'php8.3*' libapache2-mod-php8.3
# 升级后重启 PHP-FPM(或 apache2)
sudo systemctl restart php8.3-fpm
各发行版官方修复包版本对照:
Ubuntu 18.04 / 20.04 需开启 Ubuntu Pro (ESM) 才能拿到补丁:sudo pro fix CVE-2026-109618
② Ubuntu ondrej PPA / packages.sury.org
走第三方源(含 EOL 老版本补丁),用于 Ubuntu 22.04 / 24.04 等。
# 添加 ondrej PPA(若已添加可跳过)sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
# 升级 PHP
sudo apt-get install --only-upgrade 'php8.3*'
sudo systemctl restart php8.3-fpm
③ Red Hat / CentOS / AlmaLinux / Rocky(remi 仓库 + dnf 模块)
# 先确认当前 PHP 模块dnf module list --enabled php
# 只升级 PHP 包
sudo dnf upgrade 'php*'
# RHEL 9 模块 php:8.2 官方补丁为 8.2.35(RHSA-2026:87072)
# remi 的 SCL 风格包名不同,如 php84-php-fpm,用:
sudo dnf upgrade 'php84-*'
sudo systemctl restart php84-php-fpm
⚠️ remi 仓库在 21 日未及时放出补丁,请以仓库实际版本为准,升级后用 php -v 核对是否达到 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12。
若要切换 PHP 模块流(如 7.4 → 8.2),必须先重置模块,否则 dnf 拒绝切换:
sudo dnf module reset -y phpsudo dnf module enable -y php:8.2
sudo dnf distro-sync -y
④ 宝塔面板(国内站长最常见)
宝塔是编译安装 PHP,需等宝塔软件商店推送修复版本(对应 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12):
登录宝塔面板 → 左侧「软件商店」→ 顶部「已安装」;
找到你正在用的 PHP 版本(如 PHP-8.2);
若有「更新」按钮且有新版本提示,点击升级即可;升级后宝塔会自动重启该 PHP;
升级后到「网站 → 对应站点 → PHP 版本」确认运行版本。
若面板未显示可更新版本,请先升级面板本体:SSH 执行 bt 34,按提示更新源后确认。修复包推送节奏以宝塔官方为准。
⑤ LNMP 一键包(lnmp.org)
LNMP 使用自带升级脚本编译升级,需选择对应修复版本号:
cd /root/lnmp1.x/ # 进入你的 LNMP 安装目录./upgrade.sh php # 按提示输入目标版本号,如 8.4.27 / 8.3.36
脚本会自动完成编译安装并重启 PHP-FPM。升级后用 php -v 确认版本达标。
⑥ Docker(php 官方镜像)
# 拉取带补丁的官方镜像(每个分支都要拉到修复版本 tag)docker pull php:8.2.35-fpm
docker pull php:8.3.36-fpm
docker pull php:8.4.27-fpm
docker pull php:8.5.12-fpm
# 用新镜像重建你自己的镜像并重建容器
docker build --pull -t 你的镜像 .
docker-compose up -d --build # 或用 docker run 重建容器
官方 php 镜像已在 amd64 / arm64 上全部修复。Chainguard 镜像自 10-21 07:41 起已含补丁。
⑦ FrankenPHP
PHP 直接编译进 FrankenPHP,apt/dnf 修不了它:
# 升级到 v1.13.2(内置修复版 PHP),或拉取新版 Docker 镜像frankenphp version # 确认版本 ≥ v1.13.2(PHP ≥ 8.4.27)
⑧ LiteSpeed / OpenLiteSpeed
# 升级 lsphpXY 包(XY 为版本号,如 lsphp84 / lsphp83)sudo dnf upgrade 'lsphp*' # 或 apt upgrade lsphp8.4
sudo pkill lsphp # 必须杀掉老进程,重启 LiteSpeed 不会重置它们
⑨ macOS(Homebrew)
brew updatebrew upgrade php # 或按版本:brew upgrade php@8.4
⑩ Windows
官方编译包:到 windows.php.net 下载对应 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 并替换;
XAMPP / Laragon 等集成环境:等厂商发布对应修复版本后更新。
⑪ 源码编译安装
# 下载对应修复版本源码wget https://www.php.net/distributions/php-8.4.27.tar.gz
tar xf php-8.4.27.tar.gz && cd php-8.4.27
./configure --prefix=/usr/local/php --with-fpm-user=www --with-fpm-group=www --enable-fpm
make -j$(nproc) && make install
# 重新配置并重启 PHP-FPM
四、升级后必做:重启 + 验证
按运行方式重启
确认没有进程还在跑旧 PHP
# 输出为空 = 全部已用新版本sudo grep -lE ' /(usr|lib|opt).*\(deleted\)$' /proc/[0-9]*/maps
五、老版本(8.1 及更早)怎么办
PHP 官方只对仍受支持的分支发版。对 7.4 / 8.0 / 8.1,官方发布了最小化源码补丁(会彻底关闭上传进度条功能),供自己编译或用厂商回移补丁的人使用:
使用官方源 / LTS 厂商(如 Ubuntu Pro、Zend LTS、CloudLinux):等待或索取厂商回移补丁;
使用第三方源:ondrej PPA / packages.sury.org 已为 EOL 分支(含 7.4)回移补丁;remi 也会跟进 7.4/8.0/8.1;
没有厂商支持、又无法升级的,下线是唯一安全选项。
拿到补丁只是治标。8.2 也在 2026-12-31 终止安全支持,老版本请尽快规划迁移到 8.4 / 8.5。
六、升级前 / 无法升级时的临时缓解(不可替代升级)
⚠️ 网上流传的「一键修复 PHP2Shell」插件/脚本来源不明,不要安装,防留后门。WAF/Cloudflare 规则只能挡已知利用形状、争取时间,不能替代升级。
七、官方参考链接汇总
漏洞与补丁
PHP 官方安全公告:https://www.php.net/
PHP 下载页:https://www.php.net/downloads
漏洞详情站(Wiz/OpenAI/Calif):https://php2shell.com
CVE-2026-109618(GHSA):https://github.com/advisories/GHSA-w8hw-w9fx-j79w
CVE-2026-109619(GHSA):https://github.com/advisories/GHSA-6wmf-4rv5-p3rp
国内通告与解读
阿里云开发者社区拆解:https://developer.aliyun.com/article/1773703
各系统补丁与仓库
各发行版补丁实时状态(ma.ttias.be):https://ma.ttias.be/php-cve-2026-109618-patch/
remi 仓库:https://rpms.remirepo.net/
Debian 安全通告:https://www.debian.org/security/
Ubuntu CVE 追踪:https://ubuntu.com/security/CVE-2026-109618
运维面板 / 部署工具
宝塔面板:https://www.bt.cn/ · 宝塔文档:https://docs.bt.cn/
LNMP 一键包:https://lnmp.org/
Docker 官方 PHP 镜像:https://hub.docker.com/_/php
FrankenPHP:https://frankenphp.dev/
LiteSpeed:https://www.litespeedtech.com/
Windows PHP:https://windows.php.net/download/
命令经社区与容器实测验证(参考 ma.ttias.be)。正式操作前建议先在测试环境验证一次。修复节奏、仓库补丁上线时间以各家官方为准。