你受影响吗?
如果 Web 服务器后面跑的是低于 8.2.35 的 PHP 8.2,就受影响。两个漏洞都在 PHP 本身,所以服务器上的每个站点都在范围内,不管用的是什么框架或 CMS。
风险高低取决于 PHP 的运行方式。
- Apache 加 mod_php 风险最高。未登录的请求在你的代码开始执行之前就能触发漏洞。
- PHP-FPM、LiteSpeed (LSAPI)、php-cgi 和 FrankenPHP 同样被列为受影响。
- 命令行(在终端里执行
php -v)不是从外网进来的路径,但通常能看出 Web 这一侧用的是哪个版本。
发行版的包常常保留旧版本号,把修复以补丁形式打进去。在 Ubuntu 或 Debian 上,8.2.x+deb12u… 这类带后缀的版本即使看起来低于 8.2.35,也可能已经修复。这种构建要以发行版针对这两个 CVE 编号发布的安全公告为准,版本号说明不了问题。
官方修复
PHP 项目在 2026 年 10 月 21 日发布了 PHP 8.2.35,同时修复 CVE-2026-109618 和 CVE-2026-109619,两者的 CVSS v4.0 评分都是 9.2。8.2 分支本身会在 2026 年 12 月 31 日 停止支持,距离这次发布只有十周。此后 8.2 再出现新漏洞,PHP 项目不会再修。
免费升级
升级之后要重启
装好新包,不会改变已经在运行的 PHP 进程。在你重启 PHP-FPM、Apache 或 LiteSpeed 之前,它们仍然用旧代码处理请求。
1. 读取 Web 服务器实际运行的版本。
php -v
php-fpm8.2 -v # Debian 和 Ubuntu 的 FPM 可执行文件按版本命名
2. 升级软件包。 Debian 或 Ubuntu 上这样做。
sudo apt update
sudo apt install --only-upgrade 'php8.2*'
使用 Remi 仓库的 RHEL、AlmaLinux 或 Rocky 上这样做。
sudo dnf upgrade 'php*'
用 Docker 镜像的话,基于 php:8.2.35-fpm(或对应的标签)重新构建,并重新部署所有容器。
3. 重启所有 PHP worker。
sudo systemctl restart php8.2-fpm
sudo systemctl restart apache2 # 使用 mod_php 时
4. 检查实际运行的版本,只看已安装的版本不够。 步骤见 打补丁之后。
用虚拟主机的话,这些命令你执行不了。去问服务商跑的是哪个构建、什么时候打的补丁,要问的问题见 先判断。
今天还不能升级的话
PHP 项目列出了一组设置,它们能缩小暴露面,但不能让你变安全,只有升级才能做到。这些设置要写进 php.ini 或 FPM pool,不要放在 .user.ini 或 ini_set() 里,改完再重启。
; FPM pool,例如 /etc/php/8.2/fpm/pool.d/www.conf
php_admin_value[memory_limit] = -1
php_admin_value[post_max_size] = 8M ; 站点要上传文件时用 32M
php_admin_value[upload_max_filesize] = 4M
php_admin_value[max_input_nesting_level] = 16 ; 默认 64,调低
php_admin_flag[session.upload_progress.enabled] = off
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
另外要在前面的代理层限制请求大小、字段数量、multipart 分段数、请求头和嵌套层数,没有 Content-Length 头的请求也要限制。不要设置 RLIMIT_AS 或 RLIMIT_DATA,内存分配失败正是第一个漏洞需要的路径。完整列表和每一项的理由见 首页。
2026 年 12 月 31 日之前
8.2.35 修好了 PHP2Shell,但到年底 8.2 就不再有安全修复。剩下的路有三条。
- 换到 8.3 或 8.4。 分别支持到 2027 年 12 月 31 日和 2028 年 12 月 31 日。能在 8.2 上跑的代码,大多改动不多就能在 8.3 上跑。先测试插件和扩展。
- 留在仍然维护 8.2 的发行版上。 Debian 12 带的是 8.2,Debian 安全团队会在这个发行版的周期内继续打补丁。具体支持到哪天,看你所用发行版自己公布的日期。
- 付费购买扩展支持。 有厂商在 PHP 项目停止维护后继续打补丁,见 旧版 PHP。
指南不够用的时候
- 要处理多台服务器或一批客户站点的话,我们可以 和你一起打补丁,书面约定范围并开具发票。
- 要在 12 月 31 日之前规划迁出 8.2,我们可以 和你一起确定范围。
- 推荐 页面列出了其他选项,其中的付费链接都有标注。
最后审阅:2026年10月22日