跨请求的残留状态

CVE-2026-109619 中,持久工作进程在请求内存释放后仍保留引用。下一个到达同一进程的请求可在正常初始化前使用残留值。确认路径包括 PHP 8.5 的致命错误回溯、会话上传进度生命周期。mod_php 和具备合适应用路径的 PHP-FPM 均验证了 RCE。

PHP-FPM 可以豁免吗?

不可以。两个漏洞在不同 SAPI 中的利用条件不同。FPM 在请求启动失败时终止子进程,可阻止部分启动阶段的序列,但不消除应用执行阶段及跨请求路径。既不要认为所有架构都与 mod_php 演示完全一致,也不能据此省略 FPM 补丁。

上传进度与错误回溯

在解析请求前设置 session.upload_progress.enabled=0 并重启全部进程,可阻止已确认的会话路径。PHP 8.5 的 fatal_error_backtraces=0 仅移除已确认的回溯产生路径。移除会触发早期诊断的无效或弃用逐请求配置。display_errors、error_reporting 或 @ 隐藏输出无法阻止残留状态漏洞,也无法覆盖所有变体。

2. 安装含补丁的构建

首个修复版本为 PHP 8.2.35、8.3.36、8.4.27 和 8.5.12。选择当前受支持分支或兼容的新分支,同步升级扩展,并测试应用兼容性与健康检查。从 PHP 或对应厂商渠道获取构建;CMS 更新和 WAF 规则均不能代替解释器补丁。

四个分支,明确的升级目标。
PHP 分支低于此版本的上游发行版首个修复版本安全支持结束
PHP 8.5< 8.5.12✓ 8.5.122029年12月31日
PHP 8.4< 8.4.27✓ 8.4.272028年12月31日
PHP 8.3< 8.3.36✓ 8.3.362027年12月31日
PHP 8.2< 8.2.35✓ 8.2.352026年12月31日
仍在使用 PHP 8.1 或更早版本?

这些分支不会获得 PHP 项目常规版本更新。7.4、8.0、8.1 有最小源码回移植;厂商补丁状态需单独核实。 阅读指南 ↗

一手来源与延伸阅读

PHP security teamSecurity advisory · 21 Oct 2026
CVE-2026-109618GHSA-w8hw-w9fx-j79w · OOM corruption
CVE-2026-109619GHSA-6wmf-4rv5-p3rp · Stale global state
下一步3. 重启并验证所有实例 ↗