CVE-2026-109618 / CVE-2026-109619PHP 远程代码执行漏洞(PHP2Shell)预警
邑安科技
邑安科技
邑安全
2026年10月22日 10:23
广东
去阅读
一、漏洞概述
2026年10月21日,监测到PHP官方发布安全更新,修复PHP核心中两个远程代码执行漏洞,编号为:CVE-2026-109618、CVE-2026-109619(社区统称PHP2Shell),CVSS v4.0评分均为9.2(严重)。
两个漏洞均与PHP请求生命周期边界上的状态管理缺陷有关:CVE-2026-109618源于内存耗尽(OOM)时longjmp()提前退出,使尚未完成初始化的请求内存在request shutdown阶段被错误消费;CVE-2026-109619源于worker全局状态在请求结束后未正确重置,后续请求在正常初始化之前访问已释放的请求内存(堆UAF)。攻击者无需认证、无需用户交互,通过构造恶意multipart/form-data POST请求即可触发释放后重用,进而实现内存泄露和远程代码执行,以Web worker权限执行任意命令。
目前漏洞PoC、EXP及技术细节已公开,并已发现在野利用。由于PHP支撑着全球约四分之三的网站(含WordPress、Drupal、Laravel等主流应用),影响量级达千万级,建议尽快排查升级。
二、漏洞分析
CVSS v4.0评分9.2,属于严重漏洞。漏洞触发点位于PHP内核的session上传进度(session.upload\_progress)处理路径:ext/session/session.c中的php\_session\_rfc1867\_callback()在multipart解析期间缓存指向会话数据的指针,当同一次请求内会话状态再次初始化、旧数据被销毁后,回调仍引用已释放内存,形成堆use-after-free;该处理发生在应用代码执行之前,无需认证即可触及。攻击者仅需向目标发送特制的multipart/form-data POST请求(同时携带PHPSESSID、PHP\_SESSION\_UPLOAD\_PROGRESS表单字段与文件字段),即可触发UAF,最终绕过disable\_functions等限制直接调用zif\_system执行任意系统命令。
利用条件:目标以Web方式运行PHP(mod\_php / PHP-FPM / CGI等),session.upload\_progress.enabled处于开启状态(自PHP 5.4.0引入且默认开启),且存在任意可访问的PHP脚本作为请求入口;无需应用层漏洞、无需登录、无需文件上传功能。
危害:攻击者可以Web worker权限执行任意命令,写入WebShell、窃取凭据和业务数据、横向移动并植入持久化后门。该漏洞已发现在野利用,结合批量检测工具可大范围利用。
三、影响版本
| 漏洞 | 影响版本 |
| CVE-2026-109618 CVE-2026-109619 | PHP < 8.2.35 PHP < 8.3.36 PHP < 8.4.27 PHP < 8.5.12 (漏洞代码自PHP 5.4.0引入,PHP 5及之后版本均可能受影响) 已停止维护、无官方补丁的分支: PHP 8.1、8.0、7.x、5.x(应优先迁移或隔离) 间接受影响: 以PHP为运行时的应用与框架(WordPress、Drupal、Joomla、MediaWiki、Magento、Laravel、Symfony、phpMyAdmin、Nextcloud等),以及mod\_php、PHP-FPM(含Docker PHP-FPM镜像)等部署形态 |
四、防护方案
修复建议:
1、官方升级修复:将PHP升级至官方修复版本——PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35。升级注意事项:
a) 升级后必须重启 Apache、PHP-FPM 及所有常驻 worker,仅替换二进制不重启进程不能消除风险;
b) 容器环境应重新构建镜像,Kubernetes 环境应滚动重启所有 Pod;
c) 以 php -v、php-fpm -v 实际输出为准,不要仅核对包管理器版本号(发行版仓库及宝塔、phpStudy、XAMPP等集成环境可能存在同步延迟);
d) PHP 8.1 及更早版本已停止支持,官方不再提供补丁,建议迁移至 PHP 8.2 或更高版本。
2、临时缓解措施(不能替代官方补丁):
a) 若业务不使用上传进度功能,在 php.ini 中设置 session.upload\_progress.enabled = Off 并重新加载服务;使用PHP-FPM时建议同时在池配置中以 php\_admin\_flag 锁定该设置,防止被 .user.ini 覆盖;
b) 启用 session.use\_strict\_mode = 1,降低攻击者指定任意会话ID的风险;
c) 在WAF、反向代理或网关层收紧对 multipart/form-data 请求的检查与速率限制,重点保护不需要文件上传的业务端点。
3、注意事项:不要使用 RLIMIT\_AS 或 RLIMIT\_DATA 作为缓解措施,这些限制会导致 mmap() 失败,从而触发 CVE-2026-109618 所依赖的 longjmp() 路径,反而扩大风险。
4、监测排查:关注Web服务器异常子进程、网站目录新增可疑文件、PHP worker异常退出与崩溃日志,保留Web服务器与PHP日志以便溯源。
五、时间线
2026年10月20日,PHP官方发布安全更新预告,确认两个严重漏洞(CVE-2026-109618、CVE-2026-109619),CVSS v4.0评分均为9.2。
2026年10月21日14:00 UTC,PHP官方发布安全更新,漏洞正式公开披露。
2026年10月22日,监测到该漏洞PoC与EXP已公开,并已发现在野利用。
2026年10月22日,江门市邑安科技有限公司发布安全通告。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论