2026年10月21日,PHP 官方开发团队紧急发布安全通告,修复了两项影响范围极广、严重程度极高的底层内核安全漏洞(编号:CVE-2026-109618 和 CVE-2026-109619)。在 CVSS v4.0 评级中,这两项漏洞高达 9.2 分(严重级别)。
由于漏洞直接植根于 PHP 解释器的底层内存管理机制,一时间全球各大 Linux 发行版、云服务商以及无数网站运维人员进入了紧急应对状态。本文将带大家梳理此次漏洞的来龙去脉、底层原理以及当下的应急与修复方案。

一、 漏洞基本情况与发现
这两项漏洞由前沿安全分析及自动化内存审计工具协助发掘(主要是Google与OpenAI),暴露出 PHP 长期运行引擎中存在的底层缺陷。
-
漏洞编号:
CVE-2026-109618、CVE-2026-109619 -
危险等级:Critical(严重,CVSS 9.2)
-
受影响版本:覆盖了长期以来广泛使用的多个 PHP 版本(包括大部分处于支持周期内的版本)。对于已经停止生命周期(EOL)的陈旧版本官方更是无法提供补丁。
-
官方修复版本:PHP 官方已于 2026 年 10 月 21 日晚间正式推出安全更新,包括 PHP 8.5.12、PHP 8.4.27、PHP 8.3.36 和 PHP 8.2.35。
二、 漏洞原理拆解:为什么这次被称为“底层大雷”?
与常见的应用层漏洞(如 SQL 注入、跨站脚本攻击)不同,这两个漏洞直接发生在执行 PHP 源码的 C 语言底层引擎中。
1. CVE-2026-109618:内存分配与异常清理缺陷
PHP 在处理任何 HTTP 请求时,都需要在底层堆内存中为变量和输入数据动态申请空间。如果在解析过程中因异常触发了中断清理机制,而此时数据仅部分初始化,底层的清理程序可能会将无效指针误认为有效对象进行释放(Free),从而导致双重释放(Double Free)或内存损坏。攻击者通过精心构造的畸形请求,可以利用这一破坏过程实现远程代码执行(RCE)。
2. CVE-2026-109619:残留全局状态污染
在现代高性能 Web 架构(如 PHP-FPM)中,一个 Worker 进程会连续服务成千上万个请求。如果在处理上一个请求时遭遇了某些致命错误或异常中断,部分内部全局状态未能彻底重置,紧接着由同一进程处理的下一个请求就会继承这些“陈旧的全局状态”。攻击者通过组合拳请求,便能劫持程序的正常执行流程。
三、 常见误区:“我的博客没登录、不能上传文件,会受影响吗?”
许多开发者和站长在听到“远程代码执行”和“内存分配”时,第一反应往往是:“我的网站只是个普通的静态/动态博客,没有用户注册登录,也没有文件上传功能,应该很安全吧?”
答案是:不会幸免。
-
攻击发生在应用层之下:攻击者攻击的是“把 HTTP 请求喂给 PHP 解释器”的那一瞬间。他们不需要调用您的博客后台,也不需要注册账号。
-
所有输入都在解析范围内:即使没有文件上传,攻击者也可以将精心构造的恶意 Payload 藏在普通的 HTTP 请求头(如
User-Agent、Cookie)或 URL 参数中。只要您的网站还在响应 HTTP 请求,PHP 底层就必须对其分配内存并进行解析,漏洞的代码路径便会被触发。
四、 官方处理过程与当前的“生态真空期”
漏洞曝光后,PHP 核心开发团队反应迅速,在极短时间内完成了代码审查、回归测试,并于 2026年10月21日 正式推送了修复补丁。
然而,对于广大运维人员来说,目前面临着一个客观的时间差(真空期):
-
无论是官方系统自带源(如 AlmaLinux、RHEL 的默认源)还是第三方高信誉源(如 Remi 源),都需要经过源码拉取、RPM/Deb 打包、多架构自动化构建测试以及全球镜像同步的过程。
-
这通常需要 24 到 48 小时。在漏洞爆发的头一两天内,执行
dnf update或apt update往往还无法直接检索到最新的安全包。
五、 运维人员的现阶段应对与最佳实践
在官方和第三方软件源推出安全补丁之前的这段“真空期”,服务器绝不能“裸奔”。建议采取以下组合拳进行临时防御:
1. 实施低成本、立竿见影的临时缓解配置
根据已知的漏洞利用路径,关闭 PHP 的文件上传进度追踪功能可以有效切断主要攻击向量。
-
修改
php.ini文件:session.upload_progress.enabled = Off -
同时合理收紧
memory_limit、post_max_size等参数,避免大体积畸形数据触发底层边界错误。 -
修改完成后,重启 PHP-FPM 服务:
sudo systemctl restart php-fpm
2. 网关层纵深防御
-
在前端 Nginx 或反向代理层通过
client_max_body_size限制单次请求体大小。 -
启用 Cloudflare、ModSecurity 等 WAF(Web 应用防火墙),拦截已知的特征扫描流量。
3. 准备批量升级脚本
密切关注系统源或 Remi 源的更新动态。一旦安全包推送到镜像仓库,立刻通过自动化脚本(如通过 SSH 批量执行 dnf update php php-fpm)对名下的服务器集群进行一键升级,从根本上消除安全隐患。