AI图鉴

AI图鉴首页 › AI 资讯 › PHP爆出10年来最严重漏洞,AI只花了2天就挖出来了

PHP爆出10年来最严重漏洞,AI只花了2天就挖出来了

来源:掘金 · 发布时间:10-22 · 由 AI图鉴每小时自动聚合

Wiz Research用Gemini 4 Argon和GPT-5.6 Sol辅助,两天挖出PHP核心层两个CVSS 9.2的RCE漏洞(CVE-2026-109618、CVE-2026-109619

Wiz Research 披露 PHP 核心中的多个内存安全漏洞(CVE-2026-109618/CVE-2026-109619,CVSS 最高 9.2),实现…

当所有依赖这条供应链的服务都在告警

业务目标:PHP核心层的RCE防护

PHP在全球网站基础设施中的位置与风险敞口

PHP 支撑着约 70% 的活跃网站——这个数字在过去十年中几乎没有变化。WordPress、Drupal、Joomla、Magento 以及众多政府和企业内部系统都构建在 PHP 之上。更关键的是,PHP 还大量运行在高并发的电商、金融和政务场景中。

PHP 核心层的安全缺陷不是「某个应用的 bug」,而是整个基础设施的信任根出了问题。Volker Dusch,PHP Foundation 的安全工程师,向《华尔街日报》明确表示:「这是 PHP 十多年来最严重的问题。」

本次漏洞的影响范围与严重性评估

CVE-2026-109618 和 CVE-2026-109619 均被评定为 CVSS v4.0 9.2 分(Critical)。两者的共同点是:无需认证、可远程触发、能实现任意代码执行。

CVE-2026-109618 在内存耗尽(OOM)中断场景下产生——当 PHP 处理大文件上传时,堆内存分配失败会导致请求内部数据结构处于未初始化状态。CVE-2026-109619 则在致命错误路径下利用全局状态的残留,使攻击者能够劫持执行流。

更严重的是内存泄露问题。Sansec 的分析指出,即使应用程序从未调用 session_start(),恶意请求也能读取同一进程内的其他会话令牌、API 密钥甚至 TLS 私钥。这使攻击路径从单纯的 RCE 扩展为「RCE + 被动凭证窃取」的双重威胁。

Wiz Research 展示的 PoC 工具 PHP2Shell 声称兼容 PHP 5.4.0 及以上所有版本。全球约 60% 的对外 PHP 服务器因版本过旧已终止支持。

当所有PHP站的运维都在同一时刻收到警报

正文图解 1

Magento / 政府网站 / 企业内部系统] Core[PHP 核心层 memory handling 缺陷] Attack1[攻击向量 1 OOM 中断 + UAF] Attack2[攻击向量 2 致命错误路径 + 状态残留] Impact[影响结果 RCE + 内存泄露 无需认证的远程执行] Sub --> Core Core --> Attack1 Core --> Attack2 Attack1 --> Impact Attack2 --> Impact Impact --> Compromise[服务器完全接管 敏感数据外泄] 漏洞之所以能够在核心层潜伏多年,根本原因在于 PHP 的内存管理模型。PHP 使用自定义的堆分配器 zalloc,在请求生命周期内复用内存块。当 OOM 导致内存块提前释放但引用未清零时,后续请求会读到上一请求的残留数据——这是一种典型的 Use-After-Free 类问题,但在 PHP 的 SAPI 层中被 FPM 并发模型放大,传统静态分析工具难以追踪。

##业务目标:PHP核心层的RCE

##业务目标:PHP核心层的RC

方案A:传统人工审计路径

历史PHP重大漏洞的发现周期与人力投入

PHP 历史上严重漏洞的发现,通常依赖安全研究员的长期跟踪或厂商内部的代码审查。以 CVE-2018-12889 为例,该漏洞在 PHP 7.x 分支中存在多年,最终由外部研究者通过系统性代码审计发现,整个过程耗时数月。

传统的安全审计工作流包括三个阶段:源码浏览、手动路径追踪、PoC 编写验证。以 PHP 引擎的 Zval 内存管理模块为例,研究员需要理解其引用计数机制、复制语义以及复合类型的处理逻辑,才能定位到潜在的错误路径。

PHP 7.4 版本的漏洞修复记录显示,单个严重漏洞的平均修复周期为 3–6 周。据 PHP 官方安全日志统计,2015–2020 年间披露的 47 个关键漏洞中,有 40% 的发现时间超过一年。

传统 fuzzing 与代码审计的瓶颈

传统 fuzzing 的核心假设是:输入空间的随机采样能够覆盖到边界条件的异常路径。对于 PHP 这种具有动态类型系统的语言,这个假设面临两个结构性障碍。

其一,PHP 的内部请求生命周期涉及多阶段的状态机转换。session.upload_progress、GC 清理、内存重分配等操作的执行顺序依赖运行时上下文,单纯基于 HTTP 输入的模糊测试难以触达深层的内部状态组合。

其二,内存安全漏洞的触发通常需要特定的执行路径组合。CVE-2026-109618 的核心机制是在 OOM 中断后,请求内部数据结构仅部分初始化。当 cleanup 例程读取未初始化的堆内存时,会基于垃圾数据做出错误的分支判断。这种「条件叠加」型漏洞,传统的单点 fuzzing 几乎不可能覆盖。

坦白讲,用随机输入去撞 PHP 内存管理的边界,命中率比中彩票高不了多少。

fuzzing 框架如 AFL++、libFuzzer 在 C/C++ 项目上积累了大量成功案例,但在 PHP 这种解释型语言的应用层效果有限。PHP 引擎本身的模糊测试覆盖率长期停留在 60% 左右。

为什么这次漏洞在传统流程下可能被延迟发现

CVE-2026-109618 和 CVE-2026-109619 的共同特征,使得它们在传统审计流程下容易被忽略。

首先,两个漏洞的触发条件都依赖于「异常路径 + 未初始化内存」的组合。只有 OOM 中断、致命错误等异常分支下,才会暴露出对未初始化字段的读取行为。

其次,漏洞的利用需要构造特定的请求上下文。攻击者需要通过 session.upload_progress 模块触发内存重分配,同时精确控制请求的执行时序。

最后,PHP 5.4+ 的向后兼容性设计留下了历史包袱。早期版本的 session 处理逻辑在后续迭代中被不断重构,但部分边界行为被保留,这些「活化石」代码很少成为安全审查的焦点。

源码浏览

##方案A:传统人工审计路径##

##方案A:传统人工审计路径##

方案B:AI辅助安全研究路径

Wiz Research如何使用Gemini 4 Argon和GPT-5.6 Sol定位漏洞

Wiz Research 的研究者 sagitz 在 X 上留下的记录是一句话:「研究始于一个针对 PHP 函数安全缺陷的提示词。」

具体路径是从 popular codebase 的可访问函数出发,让模型列出可能被外部数据触发的内部处理链。Gemini 4 Argon 负责源码级分析——追踪参数如何从 zval 结构流入内存分配逻辑;GPT-5.6 Sol 负责行为推断——判断某个代码路径在何种输入条件下会触发异常状态转换。

两者是串行接力:Gemini 4 Argon 产出的可疑调用栈经过 Sol 的行为建模后,研究者再用 Sol 生成验证用的 PoC 代码。三次迭代后,两个独立漏洞各自有了可复现的攻击链。

「As expected in 2026, AI did most of the work here.」——sagitz, Wiz Research

AI在源码分析、行为推断与PoC生成中的角色分工

传统审计的三个关键环节——代码扫描、逻辑推理、漏洞验证——这次被切割成三个不同层次的任务。

源码扫描是体力活。PHP 核心的 C 代码跨越数十年累积,函数调用链错综复杂。Gemini 4 Argon 的任务是把「某个函数是否被公开接口调用」这个问题从数天压缩到数小时。

行为推断是判断力活。发现可疑代码路径后,需要判断:这个条件分支在正常请求下能否到达?这部分 GPT-5.6 Sol 发挥了更明显的优势——它能把离散的代码片段组合成完整的攻击场景描述。

PoC 生成是工程活。Sol 在这个环节的作用类似一个「能写出正确 C 语法的实习生」——它不会发明不存在的机制,但能把已知的内存操作组合成可执行的请求体。

「从热门代码库入口追踪PHP函数调用链」

发现周期从数月压缩至两天的机制解析

传统漏洞研究的瓶颈不在算力,而在信息检索成本。PHP 核心代码超过百万行,手动建立调用图需要大量时间沉淀。

AI 模型的介入改变的是第一阶段的搜索效率。给定「session.upload_progress」这个模块名,Gemini 4 Argon 可以在数小时内定位到所有可能触发的代码分支。人类研究者原本需要一周完成的信息收集,现在集中在几个小时的对话窗口里。

第二阶段是假设验证。传统流程需要研究者手工构造测试用例、运行 debug 版本。AI 辅助下,研究者可以直接让模型根据可疑路径生成测试脚本。两天时间足够完成三轮迭代:定位→验证→修正。

更关键的变化发生在协作层面。OpenAI、Calif、Quarkslab 在补丁验证阶段形成了分布式验证网络。补丁提交后,多个团队并行测试不同输入条件,发现边缘 case 的时间从数天缩短到数小时。

##方案B:AI辅助安全研究路径

##方案B:AI辅助安全研究路径

方案C:混合防线与防御实践

补丁生效前的临时防护策略

Cloudflare CTO Dane Knecht 在漏洞外泄后迅速部署了 WAF 规则,并明确标注这是「临时应急措施」。这句话的含义是:规则覆盖已知攻击向量,但不等于修复漏洞本身。

对于运行 WordPress、Drupal、Joomla 或 Magento 的站点,防护优先级是:确认 PHP 版本是否在被支持范围内、检查是否启用了 session.upload_progress 功能、在补丁可用前禁用文件上传进度报告或限制上传接口。

mod_php 配置的风险最高。Apache 通过 mod_php 执行 PHP 时,所有请求都经过同一进程。相比之下,PHP-FPM 通过 FastCGI 协议隔离,每个请求由独立 worker 处理,缓解效果更明显。

检测规则方面,Elastic 和 Corelight 都在补丁发布前提前输出了 Suricata 和 Zeek 规则。这类规则的覆盖窗口通常很短——一旦攻击者调整 payload 结构,规则就会失效。

检测规则与补丁协同机制

补丁发布当天,全球自动化扫描开始执行。Sansec 估算「补丁上线后 15 分钟内会出现大规模攻击」。

防御体系的关键不在于检测到攻击本身,而在于区分「正常流量」与「利用尝试」。正确的检测策略应该从「这个请求是否合法」转向「这个请求是否携带了不应该出现在 session 处理路径上的数据结构」。

WAF 规则可以拦截已知的特征模式,但面对未知变体无能为力。这也是为什么多方验证补丁有效性是必要的。

正文图解 4

长期治理:谁来为PHP核心层埋单

PHP 由 PHP Foundation 这个非营利组织维护,核心开发团队规模有限。这次事件中,从研究者发现漏洞到补丁发布,官方用了约两个月时间。

更大的问题是:谁该为 PHP 核心层的持续安全投资负责?全球约 70% 的网站运行在 PHP 之上,但 WordPress、Drupal、Magento 等生态与 PHP Foundation 之间的资金流动并不透明。

sagitz 的总结「AI did most of the work here」背后,是一个更值得追问的问题:如果 AI 能在两天内完成传统审计需要数月的工作,那么传统审计模式的经济价值在哪里?答案不在速度本身,而在知识积累。传统研究者花数月建立的代码库理解、历史漏洞模式、边界 case 清单,是 AI 无法自动继承的隐性知识。

##方案C:混合防线与防御实践#

##方案C:混合防线与防御实践#

选型决策与执行建议

决策矩阵:传统审计、AI辅助、混合防御如何组合

三种路径不是互斥的,而是适用于不同阶段。

在漏洞发现阶段,AI 辅助的成本远低于传统审计。给定明确的切入点,模型可以在数小时内完成人工数周的信息收集。但模型的输出需要人类验证——幻觉和误报率依然存在。

在漏洞验证阶段,传统人工审计仍有不可替代的价值。AI 生成的 PoC 可能覆盖主路径,但边缘 case、并发条件需要人类研究者结合代码上下文做出判断。

在防御部署阶段,混合策略最为稳健。WAF 规则提供即时缓解,补丁验证确保修复有效,持续监控捕获异常行为。

可落地的三步行动清单

今天可以做的事:

- 检查所有生产环境的 PHP 版本。登录服务器执行 php -v,记录版本号和编译选项。未受支持版本应立即制定升级计划。

- 确认 session.upload_progress 配置。在 php.ini 中搜索 session.upload_progress.enabled,如需临时缓解可将此值设为 Off,但这会影响正常的上传进度显示功能。

- 部署基于特征的临时检测规则。参考 Elastic 和 Corelight 发布的 Suricata/Zeek 规则,在流量层增加监控覆盖。

下周可以做的事:评估第三方安全产品是否已集成针对 CVE-2026-109618 和 CVE-2026-109619 的检测能力、联系托管服务商确认底层 PHP 版本的更新计划。

边界:AI挖洞不是银弹

需要明确 AI 辅助安全研究的局限:

第一,AI 的发现能力依赖提示词质量。给错了起点,模型可能花同样时间找到无关问题。

第二,AI 无法替代对代码历史演变的理解。PHP 核心中存在一些看似不合理但历史遗留的设计决策。

第三,AI 生成的 PoC 不一定覆盖所有触发条件。模型倾向于生成最直接的攻击路径。

你买的旗舰款,瞬间变成平替套餐。

当 AI 能完成传统审计 80% 的工作时,剩下的 20% 才是真正需要人类智慧的地方。

##选型决策与执行建议###决策

选型决策:AI辅助安全研究的适用边界

AI 在这类漏洞发现中的价值,取决于一个具体的工程条件:攻击链的复杂度是否超过了单一工程师在合理时间内的推演上限。

PHP2Shell 的两个漏洞属于同一类问题:内存管理错误导致的 use-after-free。但证明它们可以被利用,需要构造精确的请求序列,让 OOM 中断在正确的时机发生。这个链条在实际引擎中验证,需要遍历 PHP 内核的多个子系统。

何时适合引入AI辅助:复杂度与攻击面的阈值

适合引入 AI 的场景有三个信号。

第一,攻击面覆盖广。PHP2Shell 影响了至少从 5.4 开始的每一个版本,涉及多套 SAPI 和数十个扩展。AI 可以通过并行分析和模式匹配快速收敛。

第二,验证路径长。从发现漏洞到构造稳定 PoC,传统可能需要两周以上的反复调试。AI 可以在几轮对话内生成多个候选 PoC。

第三,知识跨度大。PHP 内核本身已经够复杂,再加上 Zend Engine、libxml、openssl、curl 等多个扩展的交互,单一研究员的知识盲区会显著增加漏报概率。

何时仍需人工主导:误报过滤与深层逻辑判断

AI 的局限性同样明确。第一个问题是误报。模型可以生成十个看起来可行的 PoC,其中可能只有两个真正能在目标版本上复现。

第二个问题是漏洞的本体判断。AI 能告诉你某个代码路径「看起来危险」,但不能替代安全工程师判断「这个危险是否构成实际威胁」。

第三个问题是修复方案的合理性。补丁不仅要解决漏洞,还要保证向后兼容。

选型决策表:传统 vs AI vs 混合路径的适用场景对照

人工源码审计

| 已知漏洞类型的深度挖掘 | 传统 + AI 辅助 | 人类经验主导,AI 提速 | | 大规模代码库的模式扫描 | AI 辅助 + 人工验证 | 覆盖广度优先,精度靠人 | | 新攻击面的探索性研究 | 混合路径 | 不确定性强,需要快速试错 | | 漏洞修复方案的合理性评估 | 传统路径为主 | 需要工程经验和架构理解 |

架构全景:从漏洞发现到补丁部署的完整链路

PHP2Shell 事件的价值,不只在于发现了两个漏洞。更值得观察的是整个响应链条的压缩效率。

正文图解 6

PHP Foundation 的反应是「把补丁时间提前」。这不是最优选择,但是现实选择:信息已经泄露,等待只会让攻击者有更充分的时间准备。

Cloudflare 的 CTO Dane Knecht 在补丁发布前就部署了 WAF 规则。他的原话是:「WAF 规则仅是临时应急措施,敦促管理员尽快应用官方补丁。」

收尾判断:AI不是替代,是放大器

PHP2Shell 事件给出的判断是明确的:AI 没有替代安全研究员,但它把「有人知道、有人不知道」的差距压缩到了两天。

传统路径下的漏洞发现,往往依赖个别研究员的专注投入和对特定代码库的深度理解。这种模式产出的是高质量结论,但速度和覆盖范围受限于人力。

AI 辅助的路径把「发现」的成本降到了新的量级。Gemini 4 Argon 和 GPT-5.6 Sol 完成了源码分析、行为推断、PoC 生成的工作。但漏洞的验证、补丁的合理性评估、检测规则的制定,仍然需要人类的判断。

sagitz 说「AI did most of the work here」,意思是「AI 承担了研究过程中最耗时、最繁琐的部分」。这不是替代论,这是分工论。

对于企业安全团队而言,这个事件的直接行动建议有三条:第一,立即检查 PHP 版本,所有 PHP 5.4 及以上版本均需升级到最新安全版本。第二,在补丁生效前,使用 Cloudflare、Elastic、Palo Alto 等厂商发布的临时检测规则,重点关注 session.upload_progress 模块的异常请求。第三,重新评估内部安全研究的投入策略。

最终,PHP2Shell 的意义不在两个 CVE,而在它揭示了一个趋势:AI 正在成为安全研究的基础设施。它不替代研究员的判断,但它在研究员做判断之前,已经把「可能性」的范围收窄到了可操作的边界。

参考文献

- Wiz Blog - PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet. www.wiz.io/blog/php2sh…

- sagitz on X - PHP2Shell research notes. x.com/sagitz_/sta…

- Elastic Security Labs - php2shell: Assessing detection coverage. www.elastic.co/security-la…

- Corelight - PHP2Shell Zeek and Suricata Detections. corelight.com/blog/php2sh…

- Sansec - Critical PHP RCE: CVE-2026-109618 and CVE-2026-109619. sansec.io/research/ph…

- PHP Foundation - Emergency security advisory. www.php.net/security/

延伸入口

- 原文归档:tobemagic.github.io/ai-magician…

- 公众号:计算机魔术师

本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

Augment Code

AI编程辅助工具,专为大型代码库设计

Gemini

Google推出的AI聊天对话机器人Gemini

Gemini Notebook

谷歌推出的AI笔记应用,5分钟生成一段对话播客

Mermaid Online

Mermaid Online 是浏览器端 Mermaid 图表编辑器,支持代码编辑、实时预览、模板和 PNG

相关免费羊毛

Claude

免费版:Claude 模型日常使用

Google AI Studio

Gemini 2.5 每日 1500 万 token 免费

Google Cloud

新用户 $300 试用额度 + 永久免费层

Google Gemini

学生免费 12 个月 Google AI Pro / AI Plus

同源资讯

如何用AI帮我写出实用的插件

掘金 · 10-22

问得出、搜得准、信得过:ContextSearch 重构销售检索体验

掘金 · 10-22

从零到实战:AI全栈学习进阶路线

掘金 · 10-22

Claude Duet 抢的不是活,是你每天早上那半小时

掘金 · 10-22

你以为是大模型在执行命令?真相是它只会“说“

掘金 · 10-22

热点解读:【AI智能体】Codex 开发聚合搜索应用项目实战操作详解

掘金 · 10-22

阅读原文(juejin.cn)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI图鉴首页 · 提交工具 · 商务合作 · 关于本站 · 586 款 AI 工具分类导航 · 每日 AI 热门项目与动态