PHP2Shell:AI发现关键PHP远程代码执行漏洞
TECH

PHP2Shell:AI发现关键PHP远程代码执行漏洞

42+
Signals

战略概览

  • 01.
    PHP2Shell指的是PHP核心中的两个关键未认证远程代码执行漏洞,即CVE-2026-109618和CVE-2026-109619,两者在CVSS v4.0中的评分为9.2。
  • 02.
    CVE-2026-109618是一个上传进度反序列化器的释放后使用(use-after-free)漏洞,而CVE-2026-109619则与OPcache类型混淆导致的致命错误回溯释放后使用有关;这两个漏洞的根源可追溯至PHP 5.4.0版本的代码。
  • 03.
    这些漏洞由Wiz Research于2026年8月19日使用Wiz Atlas平台,结合Google的Gemini 4 Argon和OpenAI的GPT-5.6 Sol模型发现,AI红队公司Calif在数周前也独立发现了一个相关漏洞,该发现属于OpenAI的“修补地球”(Patch the Planet)倡议的一部分。
  • 04.
    由于漏洞细节在前一天泄露,PHP项目组被迫提前披露,并于2026年10月21日紧急发布了补丁,包括PHP 8.5.12、8.4.27、8.3.36和8.2.35版本,多个政府为此将网站下线以作预防。

深度分析

两个存在十年的内存漏洞,而非新的设计缺陷

PHP2Shell并非单一漏洞,而是两个:CVE-2026-109618是上传进度反序列化器中的释放后使用漏洞,CVE-2026-109619则是与致命错误回溯生成过程中OPcache类型混淆相关的释放后使用漏洞。两者均可追溯至PHP 5.4.0版本的代码,这意味着这一内存安全缺陷在互联网最广泛使用的语言运行时中潜伏了大约十年,才被人类或机器发现[1]。两个漏洞的CVSS v4.0评分均为9.2,表明仅需一个未认证的HTTP请求即可在任何应用代码运行前触发漏洞,影响PHP-FPM、Apache mod_php、php-cgi、FrankenPHP和LiteSpeed等部署环境[4]。

该漏洞类别的危险之处在于,当异常请求终止(例如内存耗尽的致命错误)导致PHP引擎处于损坏状态后会发生什么——本应被清除的陈旧指针和缓存条目反而可能被重用,研究人员已将由此可能导致的内存泄露(例如从已释放的工作进程内存中泄露会话cookie)与Heartbleed相提并论[3]。这种比较的意义不仅在于其名称带来的冲击力,更在于其操作层面的含义:与Heartbleed类似,这种漏洞无法通过Web应用防火墙完全中和,因为易受攻击的代码路径在PHP自身内部执行,早于任何过滤逻辑。

AI率先发现——以及随之而来的功劳之争

PHP2Shell的新闻标题是:前沿AI在攻击者之前发现了一个历史上极为严重的漏洞。Wiz Research于2026年8月19日使用其Atlas平台,结合Google的Gemini 4 Argon和OpenAI的GPT-5.6 Sol模型,发现了这两个CVE漏洞并予以确认[1]。与此同时,AI红队公司Calif早在8月1日左右就已使用GPT-5.6 Sol模型,在OpenAI的“修补地球”联盟框架下发现了一个相关漏洞[6]。这一说法的速度令人震惊:据相关报道,单个研究人员使用这些AI工具仅用约一周时间就完成了原本需要世界级安全团队数月才能完成的工作[7]。

但这一发现故事存在一些粗糙之处,使得“AI拯救世界”的叙事并不那么干净利落。Cloudflare自己的说法中提到第四方组织Quarkslab也参与了发现和披露工作——而这一功劳在OpenAI的事件版本中却明显缺失[6]。而OpenAI自身对这一事件的公开声明本身也承认了双重用途风险:让Calif和Wiz发现这一埋藏十年之久漏洞的能力,同样可能被攻击者用来更快地构建进攻性漏洞利用工具[5]。互联网安全中心(Center for Internet Security)的TJ Sayers明确指出,这一事件表明AI既能发现深埋的漏洞,也能在同一时间将复杂的漏洞利用链转化为实际攻击[5]。

一次泄密将有序发布变成了紧急抢修

PHP2Shell本应是一次教科书式的协调披露:Wiz于8月24日报告漏洞,PHP安全团队于9月21日确认,并悄悄准备发布补丁。然而这一计划在2026年10月20日被打破——在禁运解除前,漏洞细节已在线泄露,迫使PHP项目组匆忙发布预公告,并压缩了原定的发布时间表[2]。Cloudflare并未等待泄密自行解决——它于10月21日UTC时间03:02向客户推送了针对已知漏洞利用向量的WAF防护,比PHP官方补丁在UTC时间13:30正式发布提前了数小时[6]。

从泄密到补丁发布之间的这一时间差并非理论上的。Cloudflare报告称,在UTC时间07:43左右已观察到早期攻击尝试,这意味着漏洞利用活动在修复程序可用前约六小时就已经开始[3]。然而,并非所有安全厂商都看到了同样的紧迫性:Huntress报告称,截至10月20日,其监控的合作伙伴环境中尚未观察到确认的漏洞利用,也未构建或复现有效的概念验证攻击[2]。这种“攻击已经发生”与“我们尚未确认”的分歧在快速披露事件中屡见不鲜,也是为何多个政府选择提前将网站下线,而非等待确认的原因之一。

70%的互联网是一个统计数据;修补它却是一个后勤难题

推动PHP2Shell从技术通告升级为政府级关站事件的是其背后的数据:PHP据估计支撑着全球70%的网站,Palo Alto Networks识别出约2260万个易受攻击的实例,而40%的网站运行WordPress,而WordPress又建立在PHP之上[5]。已确认或声称受影响的软件包括Magento、WordPress、Drupal、Joomla、MediaWiki、Roundcube、phpMyAdmin、Nextcloud、Laravel、Symfony和WHMCS——换句话说,涵盖了大部分内容管理系统(CMS)和自托管应用生态系统[3]。荷兰、芬兰、法国和丹麦的公共机构将政府门户网站、医疗服务和学校通信平台下线,以避免在补丁部署期间暴露风险[1]。

这个故事不那么光鲜的一面在于,拥有补丁并不意味着补丁能迅速覆盖所有易受攻击的服务器。PHP 8.1及更早版本已终止支持,根本未获得官方修复,这意味着旧版本用户的唯一升级路径是迁移到受支持的版本分支。正是补丁存在与补丁实际部署之间的差距——而非CVSS评分本身——决定了全球70%运行PHP的网站暴露时间的长短。

历史背景

Calif在OpenAI的“修补地球”倡议下,使用GPT-5.6 Sol发现了一个相关的关键PHP漏洞。
Wiz使用Wiz Atlas、Gemini 4 Argon和GPT-5.6 Sol独立发现并确认了这两个PHP漏洞的远程代码执行能力。
Wiz于2026年8月24日向PHP安全团队报告了这些漏洞。
PHP项目确认了漏洞报告。
漏洞细节在协调披露前泄露至网络,促使PHP项目提前宣布即将发布安全更新。
Cloudflare于UTC时间03:02部署WAF防护,UTC时间07:43观察到早期攻击,官方PHP补丁于UTC时间13:30发布,荷兰、芬兰、丹麦和法国政府将网站下线。

关键关系图

关键玩家
主题

PHP2Shell:AI发现关键PHP远程代码执行漏洞

WI

Wiz Research

2026年8月19日使用Wiz Atlas、Gemini 4 Argon和GPT-5.6 Sol发现PHP2Shell漏洞,并于2026年8月24日向PHP安全团队报告。

OP

OpenAI

运行“修补地球”联盟倡议,其GPT-5.6 Sol模型被Calif和Wiz用于发现漏洞,并承诺为资源不足的开源安全项目提供10亿美元的Daybreak访问补贴。

PH

PHP Foundation / PHP security team

2026年9月21日确认漏洞报告,在泄密后提前宣布安全更新,并于2026年10月21日UTC时间13:30发布紧急补丁。

CL

Cloudflare

在2026年10月21日UTC时间03:02至07:43之间,于官方补丁发布前部署了针对已知PHP2Shell漏洞利用向量的WAF防护,并报告了早期野外攻击尝试。

CA

Calif

AI红队公司,2026年8月1日左右在OpenAI的“修补地球”倡议下,使用GPT-5.6 Sol独立识别出一个相关的关键漏洞。

GO

Governments of the Netherlands, Finland, Denmark, and France

在披露后出于预防目的将公共部门网站下线或敦促立即修复。

事实来源

7 条引用
  1. [1] PHP2Shell: PHP RCE Vulnerabilities
  2. [2] PHP2Shell: Two Unpatched Critical PHP Vulnerabilities
  3. [3] PHP2Shell Research
  4. [4] PHP2Shell PHP Vulnerabilities Patched (CVE-2026-109618, CVE-2026-109619)
  5. [5] AI Tools Discovered the PHP Vulnerability That Could Take Down 70% of the Internet
  6. [6] OpenAI Says GPT-5.6 Sol Found a PHP Flaw Before Attackers Did
  7. [7] AI Tools Discovered PHP Vulnerability

来源文章

Top 5

THE SIGNAL.

Analysts

“认为鉴于PHP在互联网上的普遍性,PHP2Shell很可能引发一波现实世界的安全事件。”

Kevin Beaumont (independent security researcher)
Warns of severe downstream impact

“强调Cloudflare在公开漏洞利用发生前,已为已知漏洞利用向量预置了WAF规则。”

Dane Knecht (Cloudflare CTO)
Defensive mitigation framing

“强调如果未打补丁,这些漏洞会使大量网站面临即时攻击。”

Gang Wang (University of Illinois)
Assesses scale of risk

“将PHP2Shell视为证明AI既能发现长期深埋的漏洞,也能将复杂漏洞利用链转化为实际攻击的证据。”

TJ Sayers (Center for Internet Security)
Notes the dual-use nature of AI in this episode

“将此次发现视为前沿AI改变网络防御力量平衡的证据。”

Raluca Ada Popa (Head of Gemini Security, Google DeepMind)
AI capability advocate
The Crowd

“The PHP security team is giving advance notice: Upcoming security release Wed, Oct 21st 2026, 14:00UTC, two critical vulnerabilities, both rated CVSSv4 9.2. PHP users are encouraged to prepare to update. Earlier release if details become public or active exploit evidence.”

@@ThePHPF18057

“So basically, today PHP got two critical bugs that let anyone run code on your server without even logging in, which is bad, and then the details leaked before the patch was even out, which is worse, and it works on WordPress and MediaWiki and Magento and Joomla and Laravel, and Censys says like 1.5 million servers are running a version with no fix, so the NSA was like "take your system offline," and the FBI was like "take your system offline," and CISA and the UK and CERT-EU were all like "take your system offline," and then the Prime Minister of Japan, the actual Prime Minister, posted at 5:55 in the morning telling 48.8 million people to take their system offline, so everyone took their system offline, like the Dutch cybersecurity agency took its own website offline, and the Dutch parliament went offline, and the Port of Rotterdam went offline, and Finland and France and Denmark started pulling government sites, and Wikipedia went down, and Archive.org went down, and Asana and GOG and Something Awful went down, and the University of Vienna's webmail went down for some reason, and that's just PHP. Anyway, it's Wednesday.”

@@fiveoutofnine23012

“Vulnerability alert: php2shell. Unpatched sites running PHP 5.4 or later are at risk of remote code execution, data exposure, and crashes. If your site's web traffic is proxied through Cloudflare, we deployed protections before official public disclosure. Check the blog post to see which mitigations are enabled by default. Even with these mitigations in place, update PHP as soon as possible to fix the underlying vulnerabilities.”

@@CloudflareDev2151

“PHP warns it plans to release 2 emergency patches imminently. Unconfirmed report claims PHP2Shell exploit remotely executes code on PHP sites.”

@u/shiruken796
Broadcast
'This Is A Bad One': Experts Discover Weakness On Websites That Has Been Hidden For 10+ Years

'This Is A Bad One': Experts Discover Weakness On Websites That Has Been Hidden For 10+ Years

70% of the internet is about to get hacked

70% of the internet is about to get hacked

PHP2Shell: What We Know Before the 14:00 UTC Patch

PHP2Shell: What We Know Before the 14:00 UTC Patch