+− THE DAILY DIFFdev & AI news
SHIP IT

PHP2Shell:两个关键PHP漏洞,一个泄露的禁令,以及关于漏洞利用的实际已知信息

PHP发布了针对两个关键远程代码执行漏洞CVE-2026-109618和CVE-2026-109619(称为PHP2Shell)的紧急修复程序。

Want to see our stories first on Google? Add us to your preferred sources — it helps us grow.

PHP发布了针对两个关键远程代码执行漏洞CVE-2026-109618和CVE-2026-109619(称为PHP2Shell)的紧急修复程序。该版本于2026年10月21日发布。本期节目以通俗易懂的方式解释了这两个内存错误,为什么2024年审计的一个线索迟迟未修复,禁令如何泄露,以及哪些消息来源对利用情况有何说法。它还涵盖了GitLab同日发布的关键补丁版本以及新墨西哥州对Meta处以250亿美元罚款的命令。

阅读书面版(英文) ↗

本视频涵盖的内容

  • PHP团队对这两个漏洞的CVSS v4.0评分为9.2。已修复的版本是PHP 8.2.35、8.3.36、8.4.27和8.5.12;PHP 7.4、8.0和8.1仅获得了源代码补丁。PHP表示更新是唯一完整的缓解措施。
  • 第一个漏洞源于PHP在错误时刻内存不足时,请求只构建了一半。第二个漏洞源于一个指向某个请求内存的遗留指针,同一工作进程中的后续请求可以使用该指针。在带有mod_php的Apache上,第一个路径在应用程序代码之前运行。
  • 一名PHP核心开发人员在2024年的一次审计中发现了内存问题的初步迹象。PHP基金会表示,相互竞争的修复方案存在权衡,一个基于共识的安全团队难以做出选择,他们称之为结构性失败。
  • 基金会表示,CVE ID于10月20日泄露,Calif错误地发布了一个概念验证视频,Chainguard在发布前六个多小时发布了包含修复的构建镜像。Chainguard的CEO表示,当时已经有人受到攻击,而且他独立发现了这些漏洞。
  • 消息来源对漏洞利用情况存在分歧。亚马逊于10月17日记录了一次尝试,后来表示PHP2Shell被广泛利用。watchTowr报告了野外利用。CISA在发布时未观察到漏洞利用,PHP团队在发布时未发现可用的漏洞。许多公开的概念验证脚本据报道无法工作。
  • 检查所有运行PHP的地方,包括其他软件内部的副本,更新,重启工作进程,并审查10月17日以来的日志。

常见问题

PHP2Shell的两个漏洞是什么?

PHP2Shell指代两个PHP关键漏洞,CVE-2026-109618和CVE-2026-109619,PHP团队对两者的评级均为9.2。第一个漏洞是PHP在错误时刻内存不足时,请求只构建了一半,清理程序随后会信任它。第二个漏洞是留下一个指向某个请求内存的指针,同一工作进程中的后续请求可以使用该指针。两者都可能导致未经登录的代码执行。

观看此部分 0:41 · PHP security advisory · PHP security advisory · The PHP Foundation

哪些PHP版本有PHP2Shell的修复程序,不支持的版本呢?

PHP项目于10月21日在8.2.35、8.3.36、8.4.27和8.5.12版本中发布了修复程序。对于7.4、8.0和8.1版本,它只发布了源代码补丁,BleepingComputer报告称发行版和长期支持供应商可能会提供回溯修复。PHP表示没有完整的变通方案,因此更新或向供应商寻求打补丁的软件包是唯一安全的方案。

观看此部分 4:11 · The PHP Foundation · BleepingComputer

为什么一个已知的PHP内存漏洞直到2026年10月才修复?

PHP基金会表示,一名核心开发人员在2024年的一次安全审计中发现了内存问题的初步迹象,但当时没有已知的漏洞利用路径,而且每个候选修复都存在兼容性中断等权衡。安全团队通过共识做出决策,难以做出选择,基金会称之为由其决策过程和资源匮乏导致的结构性失败。

观看此部分 1:37 · The PHP Foundation

PHP2Shell是否正在被利用,利用难度如何?

消息来源存在分歧。亚马逊于10月17日记录了一次漏洞利用尝试,后来表示PHP2Shell被广泛利用,watchTowr报告了野外利用。CISA在发布时未观察到漏洞利用,PHP团队在发布时未发现可用的漏洞利用。watchTowr表示,大多数公开的漏洞利用脚本会导致崩溃或不起作用,VulnCheck发现代码执行仅在某些设置中有效。

观看此部分 2:50 · AWS Security Blog · CISA · SecurityWeek

The Daily Diff对PHP2Shell的裁决是什么?

The Daily Diff的裁决是SHIP IT:今晚发布PHP更新,因为新版本是唯一完整的修复。CISA表示要清查所有运行PHP的系统,包括其他软件内部的副本,应用补丁,如果PHP系统无法更新,则将其下线。亚马逊建议审查10月17日以来的日志,当时它发现了第一次尝试。

观看此部分 5:38 · CISA · AWS Security Blog

翻译的文字记录

译自英文原版旁白。可用音频和字幕由 YouTube 控制。

谁提前四天尝试了PHP2Shell?

0:00 安全禁令旨在在补丁发布之前保守漏洞的秘密。 亚马逊提前四天记录了一次针对PHP关键漏洞的尝试。 在这段视频中,是谁发现了它? 禁令是如何泄露的? 它到底有多糟糕? 而那个被指责泄密的公司的辩护出乎我的意料。 我会讲到它。 今天是10月22日星期四,这里是The Daily Diff。

0:21 PHP是一种脚本语言,在网页到达你之前,它会在服务器上构建网页。 它已经有三十多年的历史了,据估计, 它运行着大约百分之七十的网站,包括WordPress和维基百科背后的软件。 开发人员喜欢嘲笑它,通常是从PHP为他们服务的页面上。 它的维护是一个非营利组织,大约有十三名工程师。

两个PHP2Shell漏洞是什么?

0:41 周三,PHP发布了紧急修复程序,修复了两个关键漏洞,这些漏洞允许陌生人 在没有登录的情况下在服务器上运行代码。 它们合称为PHP2Shell,可以追溯到PHP 5.4版本。 这是第一个漏洞的通俗解释。 PHP为每个请求分配一个内存预算。 如果一个请求在恰好错误的时刻达到该限制, PHP会匆忙退出,并使请求只构建了一半。 然后,清理步骤会信任这个半构建的东西。

1:07 第二个漏洞是一个遗留问题。 致命错误可能会留下一个指向属于上一个请求的内存的注释。 同一工作进程处理下一个请求并遵循该注释。 到那时,该地址上住着其他人。 在带有mod PHP的Apache上,损坏发生在你的代码运行之前, 所以你的登录页面根本没有发言权。 Wiz说,即使是“Hello World”脚本也会受到影响。 修复程序取消了PHP因内存不足而紧急退出的功能。

1:32 现在,PHP不会在请求中途退出,而是在下一个安全点礼貌地停止。 奇怪的是,第一个线索有多古老。

一个已知漏洞为何等待两年才修复?

1:39 2024年,一次外部安全审计引导一名PHP核心开发人员发现了 内存问题的初步迹象。 当时没有已知的漏洞利用,而且每个修复都破坏了一些东西。 一个通过共识做出决定的团队无法做出选择,所以这个漏洞被搁置了。 然后到了八月份,发现者们在几天内接踵而至。

谁以及如何发现了PHP2Shell?

1:56 Calif研究员Ryan Austin于8月1日发现了它, 通过OpenAI的“修补星球”计划进行工作。 OpenAI独立报告了相同的根本原因。 几周后,Wiz使用Gemini和GPT模型发现了变体。 Austin说他使用了任何人都可以获得的模型,以及一个关于PHP旧漏洞隐藏位置的理论。 OpenAI说前沿人工智能是关键。 这个漏洞已经隐藏了十多年。 发布计划在星期四进行。

PHP2Shell的禁令是如何泄露的?

2:21 周二,两个CVE编号开始在网上流传, 发布时间错误,评分为十。 PHP将发布日期提前了一天。 那天晚上,Calif意外地发布了一个概念验证视频, 并且副本在删除后仍然存在。 周三早上,在发布前六个多小时, Chainguard发布了包含修复的构建镜像。 PHP表示,任何攻击者都可以在其他人等待的时候研究这个修复。

2:46 补丁也是一个diff,攻击者会阅读diff。

PHP2Shell是否正在被利用,由谁利用?

2:50 那么,谁实际上受到了攻击? 亚马逊的蜜罐在10月17日记录了一次尝试,后来表示 PHP2Shell被广泛利用。 watchTowr报告了野外利用。 Cisa表示,在发布时没有观察到任何情况,PHP团队在发布时也没有发现 可用的漏洞利用。 Cloudflare的CEO表示,在公告发布前的十小时内,他们看到了数千次尝试, 到周四早上达到了数百万次。

3:13 亚马逊在一个问题上很谨慎。 它不知道它最早的尝试是否会在真实系统上奏效。 一次尝试只是一次敲门。 那么,它到底有多糟糕? watchTowr表示,流行的公开漏洞利用大多会导致崩溃或不起作用。 VulnCheck表示,在某些设置中代码执行有效,但没有一个公开的漏洞利用 能够绕过标准x86服务器上的内存随机化。 研究员Elias Taylor表示,它远不如Log4Shell那么容易。

3:40 所有人仍然说要打补丁。 各国政府没有等待裁决。

政府下线了哪些服务?

3:44 美国国家安全局告诉无法打补丁的组织将PHP系统下线, 英国国家网络安全中心也给出了类似建议。 包括国家数字身份服务在内的荷兰网站, 以及一个巴黎警察网站都下线了。 维基媒体作为预防措施下线了几个系统。 Palo Alto Networks统计了超过2200万个暴露的实例。 一位澳大利亚教授提出了最尖锐的观点。 今天没有下线的网站才是值得担心的。

哪些PHP版本获得了修复?

4:11 PHP 8.2到8.5版本存在修复程序。 对于7.4、8.0和8.1版本, PHP只发布了源代码补丁。 旧版本无法从PHP项目获得任何东西,所以请咨询您的发行版。 变通方案可以降低风险,但PHP表示更新是唯一完整的 修复。这和昨天eMudhra事件的教训一样,

今晚你如何处理PHP2Shell?

4:32 因为修复存在并不意味着正在运行的进程已经包含了它。 在你的堆栈中找到所有的PHP,即使是隐藏在其他软件中的副本。 更新,重启工作进程,并检查10月17日以来的日志。 同日,GitLab发布了一个关键补丁版本,

今天还有什么发布了关键RCE补丁?

4:47 19.5.1。 其正则表达式编译器中的整数溢出 允许未经身份验证的用户在服务器上运行代码, 评分为十分。 GitLab.com已打补丁。 自管理安装需要更新。

为什么Meta被勒令支付250亿美元?

5:01 与此同时,在新墨西哥州,一名法官命令Meta公司支付250亿美元 因剑桥分析公司事件而受到罚款。 陪审团计算出超过4300万次违规,每次最高5000美元, 在法官削减之前总计约2200亿美元。 Meta表示将在上诉中胜诉。 现在是我承诺的辩护。

Chainguard对提前修复的辩护是什么?

5:19 Chainguard的CEO告诉The Register,他在一个星期五晚上自己发现了同样的漏洞, 此前他得知PHP即将发生一些事情,通过一个基本的提示来寻找 严重的漏洞。他说他提前发布是因为当时已经有人受到攻击。 如果你宁愿阅读而不是听我说, 每天早上你的收件箱都会收到免费的diff,在thedailydiff.dev, 链接在下面。所以今天的判决是SHIP IT。

什么获得了SHIP IT的认可?

5:39 今晚发布PHP更新,因为新版本号是唯一完整的 修复。这就是今天的diff。 我是来自Axrisi的Niko。 负责任地合并。

来源

  1. Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
  2. RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
  3. RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
  4. Upcoming Critical PHP Security Releasephp.net
  5. php2shellCalif
  6. PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
  7. Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
  8. Critical Vulnerabilities in PHP Require Immediate PatchingCISA
  9. Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
  10. What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
  11. PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
  12. PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
  13. There isn't an easy exploit for this PHP vulnerabilityElias Taylor
  14. PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
  15. PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
  16. PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
  17. GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
  18. Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
  19. Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News

Niko from Axrisi

Nikoloz Turazashvili · Vexrail · Axrisi

LinkedIn · dev.to · GitHub · X · Substack

相关视频

daily · zh-CN · 2026年10月15日

OpenAI 工程师因 24 美元会议室窃听器被捕

联邦检察官公布了一份刑事诉状,指控一名 OpenAI 工程师在链接的聊天机器人账户查询如何加密 SD 卡并粘贴了该板的 MAC 地址后,将一个价值 23.99 美元的 Seeed Studio XIAO ESP32-S3 Sense 录音设备用卫生纸包裹,藏在高管会议室电视后面。我们还将探讨 Anthropic 在每天 30,000 次合并时用 Scion 取代 Git 的情况——以及 Monon

5:26 ↗
daily · zh-CN · 2026年10月18日

Apple MLX 分布式推理:模型容量、速度和信任边界

Apple 10 月 15 日的研究展示了 Muse Spark Open 在四台 Mac Studio 上运行的情况,并解释了为什么流水线和张量并行对生成速度有不同的影响。10 月 17 日发布于 10 月 18 日的这一版本还审视了 Mercor 的基准覆盖图以及 10 月 18 日格林威治标准时间+7 时区明确标注的 OpenCode Console 安全更新。供应商测量、选定索引覆盖和未经

4:55 ↗
daily · zh-CN · 2026年10月9日

Deno加入Cloudflare;Deno Deploy在六个月内关闭

Deno的整个团队都将加入Cloudflare。Deno Deploy将运营六个月后关闭,为付费客户提供迁移到Workers的支持。当前团队将继续维护开源运行时一年,而JSR继续运营。10月9日的《每日差异》将这些承诺与未来合并workerd和celld以实现分布式自托管的工作分开。支持性故事解释了微软的MXC沙盒SDK和Bevy 0.20的真实图形演示、硬件要求和质量权衡。Niko的判决是“需要

5:12 ↗