PHP 8.2–8.5 修复版本已发布 独立社区资源 · 事实核实于 2026年10月22日

PHP2Shell 检测工具 / cve 2026 109618

CVE-2026-109618(PHP2Shell):内存不足导致内存破坏

CVE-2026-109618(GHSA-w8hw-w9fx-j79w)是 PHP 运行时的内存安全漏洞,官方标题为“RCE via OOM corruption”:PHP 在处理请求时内存用尽被打断,后续清理用到了没初始化完的数据,造成内存破坏,可能导致远程代码执行。修复版本为 8.2.35、8.3.36、8.4.27、8.5.12。

PHP2Shell.help 编辑部核实日期 官方来源 ↓

漏洞档案

CVE
CVE-2026-109618
GitHub 安全公告
GHSA-w8hw-w9fx-j79w
官方标题
RCE via OOM corruption
严重程度
严重 · CVSS 4.0 9.2CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
公开日期
核实日期
受影响版本
  • PHP 8.2:8.2.35 以下
  • PHP 8.3:8.3.36 以下
  • PHP 8.4:8.4.27 以下
  • PHP 8.5:8.5.12 以下
  • 8.1 及更早(5.4 起):无新版本;官方为 7.4、8.0、8.1 提供源码补丁
修复版本
8.2.358.3.368.4.278.5.12
受影响的运行方式
PHP-FPM · Apache mod_php · CGI / FastCGI · FrankenPHP · LiteSpeed — 仅命令行:无法判断
临时缓解(不是修复)
  • memory_limit = -1
  • post_max_size = 8M (32M if uploads are needed)
全部临时缓解及其局限 →
利用情况
已观察到攻击尝试; 尚未确认有成功入侵 (截至 2026年10月22日)
已修复的发行版软件包
  • Ubuntu 22.04 · php8.1 · 8.1.2-1ubuntu2.28
  • Ubuntu 24.04 · php8.3 · 8.3.6-0ubuntu0.24.04.13
  • Ubuntu 26.04 · php8.5 · 8.5.4-0ubuntu1.5
  • Ubuntu 26.10 · php8.5 · 8.5.9-0ubuntu2.1
  • Debian 13 · php8.4 · 8.4.27-1~deb13u1

CVE-2026-109618 是什么漏洞?

CVE-2026-109618 是 PHP2Shell 两个漏洞中的第一个,PHP 官方安全公告编号 GHSA-w8hw-w9fx-j79w,标题是“RCE via OOM corruption”(内存不足导致内存破坏,进而远程代码执行),官方 CVSS 4.0 评分 9.2(严重)。

用不太技术的话说:PHP 每处理一个网页请求,都要先把请求里的数据整理好放进内存。如果整理到一半内存用尽(OOM,out of memory),PHP 会中断并做清理。问题出在这次清理——它会去处理那些还没整理完的数据,把内存弄乱。攻击者如果能精确控制这个过程,就可能让服务器执行他想要的代码。

本站只讲到原理层面,不提供任何复现或利用细节。

CVE-2026-109618 影响哪些 PHP 版本?

PHP 8.2 到 8.5 中低于下列版本的都受影响:

分支首个修复版本
PHP 8.28.2.35
PHP 8.38.3.36
PHP 8.48.4.27
PHP 8.58.5.12
8.1 及更早无新发行版(7.4、8.0、8.1 有官方源码补丁)

研究方称至少有一个问题可以追溯到 PHP 5.4。7.4、8.0、8.1 没有新的官方发行版,但 PHP 官方提供了最小源码回移补丁,见 PHP 停止维护版本。

Ubuntu 等发行版已在各自的安全公告里为这个 CVE 发布了修复包,包版本号可能仍显示旧的 PHP 版本:

供应商版本软件包已修复的包版本状态
Ubuntu22.04php8.18.1.2-1ubuntu2.28已修复
Ubuntu24.04php8.38.3.6-0ubuntu0.24.04.13已修复
Ubuntu26.04php8.58.5.4-0ubuntu1.5已修复
Ubuntu26.10php8.58.5.9-0ubuntu2.1已修复
Debian13php8.48.4.27-1~deb13u1已修复
Docker Official Images—php—未核实
宝塔—PHP—未核实
XServer—PHP—未核实
ConoHa WING—PHP—未核实
ロリポップ!—PHP—未核实
1Panel—1panel/php—未核实

核实于2026年10月21日至2026年10月22日。

CVE-2026-109618 和 CVE-2026-109619 有什么区别?

两个漏洞一起公布、一起修复,合称 PHP2Shell:

  • CVE-2026-109618:问题出在内存不足时的清理过程。
  • CVE-2026-109619:问题出在请求之间残留的全局状态,详见 CVE-2026-109619。

修复版本相同,升级一次两个都修好,不需要分开处理。

CVE-2026-109618 怎么修复?

升级 PHP 到所在分支的修复版本或更高,或者安装发行版包含该修复的软件包;然后重启 PHP-FPM 或 Apache,让旧的 worker 全部退出;最后回到网站确认版本。

不同环境的具体做法:

CVE-2026-109618 有临时缓解办法吗?

有,但都不是完整修复。PHP 官方针对 CVE-2026-109618 给出了两项临时设置:

  • memory_limit = -1:去掉 PHP 自己的内存上限,避开“超过内存上限”这条触发路径。但底层内存分配失败仍可能触发漏洞;要设成应用代码改不回去的方式,并留意服务器内存,官方提醒不要用系统层面的内存限制(RLIMIT_AS、RLIMIT_DATA)来代替。
  • 调低 post_max_size:不需要上传的网站设 8M,需要上传的设 32M,减少内存不足路径的暴露面,代价是更大的上传会失败。

另外,官方针对 CVE-2026-109619 给出的“关闭 session.upload_progress.enabled”也建议一起做,见 CVE-2026-109619。所有设置都要写进主配置并重启全部 PHP worker。

详见 CVE-2026-109618 临时缓解。

怎么知道我的网站有没有中 CVE-2026-109618?

先判断有没有漏洞:查清网站实际运行的 PHP 版本,和上面的修复版本比较。可以直接用 PHP2Shell 检测。

再判断有没有被利用:目前没有官方公布的、能确定归因的入侵特征。Wiz 研究团队建议留意的内存超限报错、HTTP 500、worker 异常频繁重启只能当线索,不能证明被攻击,也不能用“没看到”证明没被攻击。见 网站被黑检测。

依据哪些来源?

检测你的 PHP 是否受 PHP2Shell 影响

输入网站使用的 PHP 版本,我们会和该分支的首个修复版本比较,并告诉你下一步怎么做。

PHP2Shell 检测工具 →

来源

本页的核心事实(修复版本、CVE 详情、发行版软件包、官方机构的提醒)都来自官方来源;研究报告、新闻和社区讨论已分别标注。