一、情况概述
2026年10月21日,PHP官方发布紧急安全更新,修复两项严重远程代码执行漏洞,编号分别为CVE-2026-109618、CVE-2026-109619,相关漏洞被称为“PHP2Shell”,CVSS v4.0评分均为9.2分。未经身份验证的远程攻击者在满足相应触发条件时,可能利用漏洞以PHP工作进程权限执行任意代码,危及网站及信息系统安全。
两项漏洞的主要情况如下:
1.CVE-2026-109618:内存不足异常处理引发的内存损坏。PHP在处理内存不足(OOM)异常时,可能中断尚未完成的内部数据初始化操作,后续请求清理过程继续处理无效数据,进而造成内存损坏并可能导致远程代码执行。官方已确认,Apache mod_php环境中的攻击可在应用程序代码执行前触发;不能仅凭网站设置了登录认证或应用层校验排除风险。
2.CVE-2026-109619:跨请求残留状态引发的释放后使用。PHP工作进程保留的部分内部状态,可能在所属请求的内存释放后未被正确清除。同一工作进程处理后续请求时,可能访问已失效的状态,形成释放后使用(Use-After-Free)问题,并可能导致内存信息泄露或远程代码执行。具体利用条件与运行方式、应用程序、扩展及配置有关。
二、受影响情况
使用受影响PHP版本处理Web请求的部署均应纳入排查,包括PHP-FPM、Apache mod_php、php-cgi、FrankenPHP及LiteSpeed等。PHP官方认为mod_php环境风险最高,使用Nginx与PHP-FPM组合也不能直接判定为不受影响。
目前官方公布的受影响版本及对应修复版本如下:
PHP分支 |
受影响版本范围 |
对应分支首个修复版本 |
PHP 8.2 |
8.2.35之前的8.2版本 |
8.2.35 |
PHP 8.3 |
8.3.36之前的8.3版本 |
8.3.36 |
PHP 8.4 |
8.4.27之前的8.4版本 |
8.4.27 |
PHP 8.5 |
8.5.12之前的8.5版本 |
8.5.12 |
三、排查方法
1.确认网站实际使用的PHP环境。结合网站配置、PHP-FPM进程及进程池、Apache模块或容器配置,核实各网站对应的PHP安装位置、版本和运行方式。命令行执行php -v可用于初步检查。
2.核验安全补丁。官方原版PHP应对照上述版本范围排查;使用发行版软件包、管理面板或第三方集成环境的,应核对完整包版本及供应商针对两个CVE发布的修复说明。自行编译的环境应进一步核验源码补丁、构建和部署记录。发行版可能在保留PHP基础版本号的情况下回移修复,因此需以供应商公布的修复包为准。
3.检查异常情况。检查Web服务器、PHP、应用程序及主机安全日志,重点关注异常进程退出、反复内存不足、执行超时,以及异常文件、进程、账号和外联行为。发现异常应进一步调查;未发现异常日志不能证明系统不存在漏洞或未遭攻击。
4.避免直接在生产环境运行漏洞利用代码。相关漏洞涉及内存损坏,主动触发可能造成工作进程异常退出或业务中断。生产环境应优先通过运行组件、版本和补丁核验开展排查;确需进行触发验证的,应在隔离测试环境中实施。
四、处置及修复建议
1.立即升级或安装完整安全补丁。
根据实际使用分支,将PHP升级至8.2.35、8.3.36、8.4.27、8.5.12或对应分支后续包含修复的版本。使用操作系统发行版、管理面板或第三方产品提供的PHP环境,应通过相应供应商获取明确修复两个CVE的更新包。升级前做好备份和兼容性验证。
2.确认修复已在运行环境生效。
更新后,应重启全部相关PHP工作进程;使用Apache mod_php的,应重启加载该模块的Apache服务;容器化部署应更新镜像并重新部署全部实例。核查所有节点、进程池及多版本环境,确认无旧实例继续提供服务,并完成主要业务功能验证。
信息来源:
1.PHP官方安全公告:https://www.php.net/archive/2026.php
2.CVE-2026-109618官方技术通告:https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
3.CVE-2026-109619官方技术通告:https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp
4.PHP官方下载:https://www.php.net/downloads.php