2026 年 10 月 21 日,PHP 官方发布安全公告:CVE-2026-109618 和 CVE-2026-109619 均可能导致未经身份验证的远程代码执行,建议所有运行 PHP Web 服务的用户尽快升级。两个漏洞的 CVSS 4.0 评分均为 9.2(Critical)。

漏洞概况

编号 问题 主要风险
CVE-2026-109618 内存耗尽(OOM)时,PHP 可能从内部请求数据尚未完成初始化的位置提前退出;请求清理阶段随后使用无效状态。 攻击者可通过特定请求触发内存处理异常,并可能以 Web 工作进程的权限执行代码。
CVE-2026-109619 某次请求的内部状态在其内存释放后仍留在工作进程中;后续请求可能在状态重新初始化前访问它。 跨请求使用已释放内存,可能造成信息泄露或远程代码执行。

这两个问题发生在 PHP 的请求处理和内部状态管理中,不以网站业务代码存在特定漏洞为前提。PHP 官方将 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 和 LiteSpeed 等处理 Web 请求的环境列为需要关注的范围。其中,公告明确指出 Apache mod_php 的风险最高,已有在应用代码运行前由未认证请求触发的利用验证。其他运行方式的具体可利用条件存在差异,不能仅凭所用 SAPI 断言安全。

受影响版本与修复版本

使用的 PHP 分支 至少升级到
PHP 8.2 8.2.35
PHP 8.3 8.3.36
PHP 8.4 8.4.27
PHP 8.5 8.5.12

上述各分支中低于对应修复版本的版本受影响。PHP 8.1 及更早版本已不再由 PHP 项目维护;如果仍在使用,应向发行版或长期支持供应商确认是否已有回补补丁,或迁移到受支持的版本。发行版可能回补安全修复,因此不能只凭版本字符串判断其打包版本是否已修复。

如何排查和修复

先列出所有实际对外提供服务的 PHP 实例、运行方式及版本,再核对对应的 PHP 或发行版安全公告。命令行可用 php -v 查看 CLI 版本,但它不一定与 Web 服务所用版本相同;PHP-FPM、Apache 模块及容器镜像需要分别确认。

优先通过官方发布包、发行版安全更新或供应商提供的修复包升级到已修复版本,并重启相关 Web 服务和 PHP 工作进程。升级后再次核对实际处理请求的进程版本;如果使用容器,还要确认运行中的容器已经采用更新后的镜像。

如果暂时无法升级,PHP 官方公告列出了一些只能降低特定攻击路径风险的临时措施,例如限制请求体和上传输入,或在适用场景下禁用 session 上传进度。这些措施都有适用条件,也可能改变服务的资源使用或功能,不能代替升级。不要把关闭错误显示、隐藏日志或单纯调整 error_reporting 当作修复。

参考资料