OpenAI 发现 PHP 两个 9.2分高危漏洞,全球70%网站受影响

PHP 官方披露两项严重漏洞(CVE-2026-109618、CVE-2026-109619)安全通告

2026年10月21日,PHP 官方披露两项严重漏洞并发布安全更新:CVE-2026-109618 与 CVE-2026-109619,官方 CVSS v4.0 评分均为 9.2。官方建议所有运行 PHP Web 服务的用户尽快更新,并依据实际运行方式(SAPI)、应用操作与配置评估风险。

01.事件回顾

披露前约两个月

据 PHP 官方与 OpenAI 披露,漏洞由安全公司 Calif 在 OpenAI "Patch the Planet" 计划下借助 GPT-5.6 Sol 发现,Wiz 独立发现并报告,PHP 维护者主导修复,各方协同准备约两个月。

10月20日

PHP 安全团队发布预告,称将于 10月21日 14:00 UTC 发布关键更新,并保留在漏洞细节公开或出现野外利用时提前发布的权利。

10月21日

8.5.12、8.4.27、8.3.36、8.2.35 四个安全版本正式发布。

02.漏洞解析

漏洞信息(依据 PHP 官方安全公告)

- 漏洞编号:CVE-2026-109618、CVE-2026-109619

- 公开代号:PHP2Shell(公开讨论与厂商通告中的称呼)

- 官方表述:109618 为内存耗尽(OOM)损坏导致的 RCE;109619 为陈旧全局状态导致的 RCE

- 官方评级:严重(Critical),CVSS v4.0 9.2

- 利用条件:无需权限、无需用户交互;攻击复杂度(AC)官方评为高

- 影响部署:PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed 等

- 风险最高场景:Apache mod_php,官方已演示单个未授权请求在应用代码运行前触发

CVE-2026-109618 内存耗尽损坏漏洞细节

攻击者可借超大请求触发内存耗尽,使 PHP 在内部请求数据仅部分初始化时被中断,后续清理流程误把这批无效数据当作有效数据处理,进而造成内存破坏并导致远程代码执行。该缺陷发生在应用代码运行之前,与网站自身代码无关。官方已在 Apache mod_php 默认配置下通过单个未授权 HTTP 请求验证完整 RCE,故 mod_php 风险最高;PHP-FPM 在请求启动失败时子进程会直接退出,可阻断这一启动阶段路径。

CVE-2026-109619 陈旧全局状态漏洞细节

请求所属的内部状态在其内存被释放后仍可能残留,同一工作进程处理的下一个请求若在初始化重置前复用该状态,即形成释放后重用(UAF)并导致远程代码执行。长亭实验分析指出,multipart 请求解析中会话上传进度机制的多次状态切换,可能使内存对象被提前释放又被再次访问,release 构建多表现为进程崩溃,debug/ASAN 构建可见引用计数异常。

官方确认两条路径:

1. PHP 8.5 致命错误回溯路径(mod_php)

2. 会话上传进度生命周期路径(mod_php 与 PHP-FPM,FPM 路径依赖正常启动后的合适应用操作)

该功能默认开启,无需应用主动调用 session_start()。

官方将攻击复杂度评为"高(AC:H)";官方验证的未授权 RCE 场景针对 Apache mod_php,风险也以此最高,不同运行方式与配置需分别评估。Wiz 称其在最新版 WordPress、Drupal、Joomla 测试环境复现了未授权攻击。

03.影响范围

受影响版本(依据官方修复分支)

- PHP 8.2.x < 8.2.35

- PHP 8.3.x < 8.3.36

- PHP 8.4.x < 8.4.27

- PHP 8.5.x < 8.5.12

安全版本

8.2.35、8.3.36、8.4.27、8.5.12,或对应分支后续安全版本。

PHP 8.1 及更早版本已不再从 PHP 项目获得更新;官方为 7.4、8.0、8.1 提供了最小源码回移,供自行编译或通过发行版、长期支持厂商获取修复,但不代表恢复官方支持。官方建议这部分用户联系发行版或升级到受支持版本。

04.解决方案

优先更新(官方列为完整修复方案)

更新至 8.2.35、8.3.36、8.4.27、8.5.12 或对应分支后续安全版本,可从 PHP 官方或操作系统发行版、长期支持厂商获取。

使用发行版回补包时,不能只比对上游版本号,应按发行版安全公告确认更新已包含两个修复:

- GHSA-w8hw-w9fx-j79w

- GHSA-6wmf-4rv5-p3rp

更新后须重启全部 PHP 工作进程,并核对实际 Web 运行方式(SAPI)生效的版本,而非只查看命令行 php -v。

无法立即更新时的临时缓解

官方说明,以下措施只能减少针对特定路径的暴露,并不能让安装变得安全。

针对 CVE-2026-109618

1. 在应用无法覆盖的层级(FPM 进程池 php_admin_value 或 Apache 配置)设置 memory_limit=-1,并确认无配置重新设回有限值;

2. 设置较低的 post_max_size(不上传可设 8M,需上传可设 32M),使 upload_max_filesize 小于 post_max_size;

3. 在 Web 服务器或代理层限制解码后请求大小、字段数、multipart 分段数、标头数与嵌套深度。

官方同时提示,不要用 RLIMIT_AS 或 RLIMIT_DATA 替代 PHP 内存限制,以免诱发相应分配失败;可用容器或 cgroup 限制作为可用性边界。

针对 CVE-2026-109619

1. 在请求解析之前生效的 php.ini、FPM 进程池或服务器配置中设置 session.upload_progress.enabled=0 并重启全部工作进程,不能依赖脚本内 ini_set() 或 .user.ini;

2. PHP 8.5 可另设 fatal_error_backtraces=0 并重启。

官方同时说明,用 error_reporting、display_errors 或 @ 隐藏诊断信息并无帮助。对 PHP 8.1 及更早停更版本,按官方建议升级到受支持版本,或向发行版、长期支持厂商核实回补修复。

 

 

声明:本网站的内容均来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
AI资讯

快手可灵AI Kling 4.0将于10月上线,支持4K HDR最长生成30秒

2026-9-29 20:27:14

视频教程

Krita AI绘画实战(基础+进阶课):电商设计、室内装修、AI动画,掌握全流程应用,实现多领域变现

2026-1-7 21:12:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
❯
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索