[前言]
近期出现PHP2Shell:两个 PHP 核心远程代码执行漏洞,分别是:CVE-2026-109618、CVE-2026-109619,这次事件不是某个 PHP 网站程序的普通漏洞,而是 PHP 运行时本身存在的严重安全问题。攻击者在特定条件下可以不登录,远程触发代码执行,进而以 Web 服务进程的权限控制服务器。两个漏洞的 CVSS v4.0 评分均为 9.2。
[问题]
漏洞编号 | 技术原因 | 潜在影响 |
|---|---|---|
CVE-2026-109618 | OOM(内存耗尽)处理过程中的内存状态异常 | 可能造成远程代码执行 |
CVE-2026-109619 | Use-After-Free,即使用已经释放的内存,涉及请求间残留的内部状态 | 可能造成远程代码执行 |
[升级]
PHP 分支 | 修复版本 | 建议 |
|---|---|---|
PHP 8.5 | 8.5.12 | 立即升级 |
PHP 8.4 | 8.4.27 | 立即升级 |
PHP 8.3 | 8.3.36 | 立即升级 |
PHP 8.2 | 8.2.35 | 立即升级,并规划迁移 |
PHP 8.1 及更早版本 | 不在上述修复版本列表中 | 核实官方公告、发行分支及供应商补丁,不能假定已修复 |
[处理]
以下按照 Ubuntu 24.04 Nginx PHP-FPM 8.3 ppa:ondrej/php 环境执行。
步骤 | 操作 | 命令或配置 | 验收标准 |
|---|---|---|---|
1. 备份配置 | 备份 PHP 配置 |
| 备份目录存在 |
2. 确认版本 | 检查 CLI 与 FPM 软件包 |
| CLI、FPM 均为 8.3.36 对应的软件包 |
3. 核对漏洞修复 | 核对官方安全公告及软件包来源 |
| 版本与软件源信息明确,未使用旧版本二进制 |
4. 升级安全补丁 | 如仍有旧包,更新软件包索引并升级 |
| 不再运行受影响的旧版本 |
5. 检查 PHP 配置 | 检查 FPM 配置语法 |
| 配置测试通过 |
6. 重启 FPM | 让新版本及安全配置生效 |
|
|
7. 检查 Nginx | 测试并重载配置 |
| Nginx 配置测试成功 |
8. 验证线上环境 | 访问现有 PHP 网站及关键功能 | 测试登录、后台、数据库、验证码、Redis 等 | 页面正常,无新增 502/500 |
9. 检查异常 | 查看 FPM 启动日志 |
| 没有新增扩展加载错误 |
[验证]
由于php无法使用命令行查看是否在某个版本添加了补丁,只能根据提供的 apt list输出和 php -v 信息,系统运行的是 PHP 8.3.36。这是 PHP 官方于 2026年10月21日发布的紧急安全更新版本,专门用于修复高危漏洞 PHP2Shell(CVE-2026-109618 和 CVE-2026-109619) 。
hu@iZuf69796mhmpttnjlp98kZ:~# apt list --installed | grep php8.3 WARNING: apt does not have a stable CLI interface. Use with caution in scripts. libapache2-mod-php8.3/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-cli/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-common/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-curl/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-fpm/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-gd/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-igbinary/noble,now 3.2.16-6 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-intl/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-mbstring/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-mysql/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-opcache/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-readline/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed,automatic] php8.3-redis/noble,now 6.3.0-2 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3-xml/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 amd64 [installed] php8.3/noble,now 8.3.36-1 ubuntu24.04.1 deb.sury.org 1 all [installed,automatic]
[下载]