PHP是一款广泛使用的开源服务器端脚本语言,大量网站与应用基于其构建。2026年10月21日,PHP官方发布安全更新,披露其跨请求全局状态管理机制中存在堆内存释放后重用漏洞。PHP worker 进程持有的错误、会话、对象及扩展等全局状态指向仅属于单个请求的堆内存,该状态需在请求内存释放前完成复位;当请求因致命错误(包括内存耗尽、执行超时等)中断而未执行对应的复位,或非致命诊断在请求关闭阶段将请求所属信息重新写入已清理的全局状态时,请求堆内存释放后残留引用仍被 worker 保留,后续请求中先于正常初始化执行的输入、配置、会话及错误处理操作会读取或基于该残留状态进行处理,造成释放后重用。未经身份验证的远程攻击者可构造由同一 worker 先后处理的特制请求触发该漏洞,导致内存信息泄露并以Web进程权限执行任意代码,造成服务器失陷。成功利用要求相关请求由同一 worker 进程先后处理,利用可靠性依赖于 PHP 构建、扩展、前端行为与堆内存布局。受影响版本:8.2.35、8.3.36、8.4.27、8.5.12之前的所有版本(官方补丁仅覆盖8.2-8.5受支持分支,更早版本已停止维护)。该漏洞与CVE-2026-109618同属同一安全事件,漏洞事件跟踪以AVD-2026-109618为主。
针对 PHP 8.1 及更早版本:
PHP官方已停止支持,但部分发行版和长期支持(LTS)服务商可能为其提供安全补丁,请联系供应商确认修复情况,或升级到受支持的版本。
针对 PHP 8.2 及其之后版本,PHP官方已发布安全更新版本及其补丁,具体如下:
PHP < 8.2.35(8.2 分支),升级至 8.2.35 或该分支更新版本。
PHP < 8.3.36(8.3 分支),升级至 8.3.36 或该分支更新版本。
PHP < 8.4.27(8.4 分支),升级至 8.4.27 或该分支更新版本。
PHP < 8.5.12(8.5 分支),升级至 8.5.12 或该分支更新版本。
在打补丁或升级PHP版本期间,请保持阿里云 WAF或者阿里云 云防火墙IPS防护模块防护处于启用状态,尽可能的减少暴露风险,但这些措施不能替代 PHP 修复。
暂无法升级时,可设置 session.upload_progress.enabled=0;PHP 8.5 还可设置 fatal_error_backtraces=0 进行缓解,均需由管理员强制配置并重启全部工作进程。PHP-FPM 可在评估性能影响后设置 pm.max_requests=1,减少跨请求状态复用。具体措施可参考 https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp