数字生命卡兹克 昨天
AI挖出藏了十几年的底层PHP漏洞,网络安全也回不去那个旧时代了
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_font3.html

 

昨晚,可能是网络安全的噩梦。

也是很多工程师的,不眠之夜。

只能说,我们整个时代和社会,在 AI 的加速下,都会变得焦头烂额中。

事情是这样的。

首先是前天,也就是 10 月 20 日夜里 11 点多,Hacker News 上突然冒出来一条帖子。

标题巨吓人,说是两个 CVSS 10.0 的 PHP 远程代码执行漏洞,即将公开。

发帖的人自己写着,除了 " 信源:信我就行 "(trust me, bro)之外,我没有任何证据,然后甚至还附上了漏洞编号。

不过呢,这种帖子,网上一天能刷到一百条,没人当真。

但这一条,几个小时后被一家叫 watchTowr 的安全公司确认了。他们的原话是:" 我们本来都该等到周四的。"

这一下就尴尬了,因为这个漏洞是巨大的,已经处于泄密状态了,真的有心人已经可以开始利用,但 PHP 官方的安全更新还在打包中,原定于 22 号晚上更新,可这瞬间就有两天的空档,如果这两天之内漏洞被利用且被攻破,后果不堪设想。

又过了一个多小时,PHP 官方急忙发了预告:原定 10 月 22 日的安全更新,被迫提前到 21 日晚上 10 点(北京时间),尽可能的压缩时间。

结果,官方预告刚发出去,又出了个更离谱的事。

一家参与发现这两个漏洞的安全公司,叫 Calif,居然不小心把一段攻击演示视频发到了网上,充分的说明了,这个世界就是一个巨大的草台班子。

视频里,他们展示了如何利用这些漏洞,在多个目标上成功运行攻击验证程序,虽然视频很快就删了,但没办法,手快已经有人保存下来,开始在社区上大肆传播。

这下好了。

原本大家只知道有两个严重漏洞,连具体怎么攻击都不知道,现在,连攻击演示视频都有了,就差手把手教学了。

然后在各种离谱的 AI 加速之下,安全研究人员开始加速复现,网上各种号称能利用漏洞的代码也开始冒出来。

而这时候,距离可以修复安全漏洞的补丁推出给所有人可被正式下载,还有,16 个小时。

生死时速的 16 个小时,如果是以前,恶意之人,可能还没办法在这么短的时间里发起大规模的攻击,但是如今,是 AI 时代了,16 个小时,对于用 AI 加速后的人们来说,好像有点太长了。

更离谱的是,21 日下午 3 点 41 分,一家做容器镜像的公司,比约定时间提前了 6 个多小时,把已经打好补丁的镜像发了出去,PHP 基金会直接开骂了:" 无视了多方数周的协调工作。"

因为这年头,懂行的人拿新旧两版代码让 AI 直接暴力对比一下,直接就知道漏洞在哪了,用 AI 研究补丁,用 AI 逆向分析漏洞,再用 AI 开发攻击程序。

但大量正常网站的管理员,却还没有能够直接安装的更新包,这意味着攻击者直接开了天眼,直接抢跑。

于是,崩溃发生了。

21 日这一天,荷兰的数字身份系统、议会网站,连国家网络安全中心自己的网站,挨个下线。

芬兰政府的 IT 服务商也关掉了一批服务,美国一家做人力资源软件的公司 BambooHR 直接停服,提醒客户发薪相关业务可能受到影响,日本的 niconico 和 pixiv 进入紧急维护。

因为日本的 PHP 网站实在太多了,甚至高市早苗都去 X 上发文,建议预防性下线,直到晚上 10 点的 PHP 更新推送。

一个编程语言的漏洞,让高市早苗半夜发推,让好几个国家的政府主动拔网线,这种画面,说实话,我真没见过。

就这样,世界跌跌撞撞,撑过了这十几个小时。

无人知道,在这十几个小时中,水下的黑暗面里,获得了什么。

晚上 10 点,PHP 安全更新上线,对于这两项严重漏洞来说,没有任何完整的缓解措施,更新是唯一安全的选择。

同时,OpenAI 出来认领,PHP 这两个史诗级的安全漏洞,是 GPT 辅助发现的。

而这个漏洞,还不是啥新模型整的,是几个月前,用 GPT-5.6 Sol 发现的,所以大家就可以想象,如果是这些大模型公司的未发布的内部的更强模型去扫的话,全世界的各种网络基建,那可能真的全都有问题。。。

同时,OpenAI 这次也紧急发布了一个 skill,来辅助你发现,你的网站是否会受到影响。

这里希望大家一定要注意,如果你自己的网站中,使用了 PHP,如果你还不知道这些消息,请看到的第一时间,立刻,立刻更新版本,也希望能扩散给你的朋友。

我知道,很多人会说,不就是一个漏洞吗?有什么大惊小怪的。

那我觉得,要理解这次为什么闹这么大,全球反应为啥这么过度,得先知道 PHP 是个什么东西。

我也不是啥专家,我只能用我知道的语言,尽力描述一下。

首先,我们可能都知道,你在浏览器里点开一个网页,服务器那边得现场算出来这一页该显示什么,比如你是谁,购物车里有什么,这篇文章下面有几条评论等等,那干这个活的程序,叫后端。

而 PHP,就是写后端最常用的语言之一。

不过因为太老了,现在很多公司的新产品或者新技术栈都不太用了,并且有意思的是,PHP 在程序员圈子里一直是被嘲的对象,"PHP 是世界上最好的语言 ",当了十几年的梗,很多人都觉得它是上个世纪的东西。

但在全球,用 PHP 搭的网站,依然占据着 70%,即使是新一点的国内,虽然 Java 极多,以 2026 年 10 月的数据看,依然还有超过一半的网站,是用 PHP 搭的。

人人都嘲它,但说实话,也人人都离不开它。

你注册过的论坛、小店的付款页、很多地方政府的办事网站、公司内部的报销系统,还有路由器和 NAS 的管理后台,大概率都有一个跑在 PHP 上的。

它就像城市地下的老水管,平时确实没人想起它,一旦爆了,整条街都能喷的全是屎。

而这一次,就是 PHP 本身爆掉了。

这次的漏洞有个名字,叫 PHP2Shell。Shell 就是服务器的命令行,拿到它,你就可以认为约等于拿到了这台服务器的控制权了,所以这个名字的意思极其直接,从 PHP,直通你的服务器。

它包含两个编号,CVE-2026-109618 和 CVE-2026-109619。

CVE 你可以理解成漏洞的身份证号,全球统一。

严重程度用 CVSS 打分,满分 10 分,最开始泄露版本是满分,但是最后其实给的是 9.2 分。

要讲清楚这两个漏洞呢,还是得先说一个最近所有人都很肉疼的概念:

内存。

就是程序跑起来的时候,要不停地向系统 " 借 " 内存,用来存放临时数据,然后用完再 " 还 " 回去,PHP 的解释器是用 C 语言写的,C 语言跑得快,但借和还,依然全靠程序员自己记账,系统可不管你。

所以这个账一旦记错,就会出事了。

第一个漏洞,CVE-2026-109619,专业名词叫 " 释放后使用 "(use-after-free)。

举个例子,你开了一家酒店,第一个客人来寄存行李,服务员把他的东西放进了 18 号柜子,并且在本子上记了下来。

后来客人走了,柜子清空,重新给第二个人用了。

结果问题来了,服务员忘记把本子上原来的记录删掉了。

第二个人刚把自己的东西放进去,服务员就拿着旧记录,跑去打开 18 号柜子,还以为里面是第一个人的行李。

这下就麻烦了,他可能看到了第二个人的东西,甚至还有可能把里面的东西给弄坏了。

PHP 这次的问题,就出在类似的地方,原本已经归还的内存,又被拿去存放新的数据,但 PHP 还留着指向原来位置的旧记录。

于是,它以为自己在处理上一份数据,实际上碰到的早就成了另一份数据,所以,如果攻击者能精心操纵这个过程,就有机会读取、篡改原本不该碰的数据,甚至进一步控制服务器。

这就叫释放后使用,英文叫 Use-After-Free。

轻一点,能读到服务器内存里别的用户的密码、令牌、API 密钥,严重一点的话,精心布置内存以后,可以用你这台服务器,直接执行他自己的代码,那后果就不堪设想了。

第二个洞:内存不够时的紧急撤离,这是 CVE-2026-109618。

这个漏洞更有意思,我们还是拿酒店举例。

假设酒店里有一个行李寄存处,每次客人过来寄存行李,服务员都要先在登记本上把数量加 1,然后再把行李放到柜子里。

前面 9 件都很顺利,到了第 10 件,服务员刚刚把数量从 9 改成 10,正准备放行李的时候。

突然一下,停电了,就导致行李还没放进去,整个系统就被迫中断了。

结果更离谱的来了,酒店启动紧急清理程序,清理人员拿着登记本一看:今天一共存了 10 件行李。

于是按照登记本上的数量,一个一个检查。

但问题是,第 10 件行李根本没放进去啊,那个位置里面可能还是一些乱七八糟的旧东西。

可清理人员哪里知道,也不管那些,照着登记本就把它当成正常行李处理了。

这下,整个系统就可能出问题了。

PHP 这次的第二个漏洞,就是类似的道理。

它在整理数据的时候,会先把数量加 1,再把真正的数据存进去,如果恰好在这两步之间耗尽了内存,PHP 就会紧急中断操作。

但后面负责清理的程序,仍然按照那个已经加了 1 的数量去处理数据。

结果,就可能把一些根本没有正确初始化的内存,当成正常数据来使用。

如果攻击者能够精心制造这种情况,就有机会进一步控制服务器。

而且最恐怖的是,在某些服务器配置下,这个过程甚至可以发生在网站自己的业务代码开始运行之前。

你自己写的网站再小心,可能连出手的机会都没有。

对普通人有关系吗?当然有,你自己的电脑和手机不会受影响,受影响的是你用过的那些网站,如果某个没人维护的小站被黑了,你在上面留下的账号、密码和手机号,还有所有的信息,就可能跟着泄露。

这也是为什么很多工程师这两天又在说,C 语言这种内存全靠人管的东西,迟早要出这种事,像 Rust 这样的内存安全语言,在编译阶段就不让你犯这类错,所以 OpenAI 这次专门赞助了 Rust 基金会,不是没有原因的。

回到这两个漏洞,其实往前倒腾历史,我们会发现这两个漏洞根本不是什么新东西。

2004 年的时候,德国安全研究员 Stefan Esser 发现了 PHP 第一个跟内存上限有关的远程漏洞,当时这类攻击的利用方法都没公开,只在少数安全公司手里秘密流传。

这个问题确实修了,但它的兄弟姐妹们,都还在。

2024 年,PHP 基金会拿到了德国 Sovereign Tech Agency 的资金支持,通过 OSTIF 协调,请法国安全公司 Quarkslab 给 PHP 做了一次多年未有的外部安全审计。

修其中一个问题的时候,基金会雇的一位核心开发者发现了类似的漏洞,他理论上觉得能被利用,但说实话,他也找不到一条具体的攻击路径。

然后修复方案就这么拖着,安全团队在几种方案之间来回拉扯,停了又启,启了又停,后来 PHP 基金会在复盘里自己承认,这是安全团队的决策流程和人手不足造成的所谓的 " 结构性失败 "。

然后就到了 2026 年。

今年 5 月,开头的那个叫 Calif 的安全公司搭了个系列,叫 "AI 发现漏洞月 "。其中一篇用 Claude 在 PHP 里挖出了一个 21 年前的内存漏洞。

然后,AI 继续加速,势不可挡。

7 月 30 日,Calif 在 OpenAI 的安全计划 "Patch the Planet" 里,开始审计 PHP。

仅仅 2 天时间,8 月 1 日,他们找到了第一个能触发 " 内存耗尽 " 的入口。

8 月 11 日,Calif 把漏洞报给了 PHP,同一天,OpenAI 自己的研究人员也独立报上了同一个问题。

8 月 15 日,PHP 确认,Calif 交上来的攻击演示确实能跑通。

8 月 24 日和 9 月 18 日,安全公司 Wiz 和 OpenAI 又先后报上了更多攻击路径。

因为这两个漏洞影响过于巨大,涉及到 PHP 底层,开始组织全世界的合作伙伴,一起协同修复,云厂商、系统发行商、安全公司都需要提前准备,否则公开漏洞反而可能给攻击者创造机会。

这个就是血淋淋的对比,2024 年,一个核心开发者找了很久也没找到如何利用这个漏洞,2026 年,从开始审计到找到第一个入口,只用了两天。

而更加离谱的事在于。

整个互联网,是立在一堆没人付钱、也没几个人认真看的代码上的。

这次也一样,PHP 基金会自己承认,这个内存问题 2024 年就有苗头,拖到今天,一个重要原因就是人手不够,在复盘的最后,他们几乎是在求助,希望公司、主机商和政府来赞助。

Hacker News 上有人翻出了 Debian 上负责给 PHP 打包的维护者的赞助页,吐槽了一句,一个月连 700 美元都不到?

而全世界的服务器,真的,就在等这些人半夜起来发版。

可既然这些基础软件这么脆弱,为什么这么多年,互联网大体上还是好好的?

原因特别简单,就跟前段时间的爆火的 REA 逆向一样。

因为找漏洞太贵了。

就像很多商业软件大家不愿意逆向是一样的,很多商业软件的保护,来自于别人看不懂,也懒得花那个时间去研究。

找漏洞一样能在 PHP 内核、OpenSSL 这种地方找到并利用内存漏洞的人,全世界可能就几百个。

他们的时间很贵,一个漏洞要磨几个月。所以很多雷,可以安安静静地埋上二十年,是因为真的没人愿意去搭理他们,成本太高了。

但 AI,让过去世界所有的 " 贵 ",都变得荡然无存。

Anthropic 这个月刚公布,从去年 11 月到今年 10 月初,它的模型在开源项目里一共找出了 29439 条候选漏洞线索。

OpenAI 在今晚的长文里也说,PHP 这两个洞只是他们已经发现、正在修的好几个重大漏洞之一,接下来几个月 " 类似的发现会急剧增加 "。

PHP2Shell 不是结束,只是开始,这种事,接下来一定会越来越多,一定会的。

但这时候最核心的 BUG 出来了,就像数学一样,数学的证明和发现变得越来越快,但是核心的瓶颈到了验证上,前段时间 OpenAI 发出来那 700 多篇的论文,如果让全世界的数学家们来去验证是否正确,它需要最少几个月甚至是一年的时间。

网络安全也是一样,PHP 的这个漏洞发现,只花了 2 天。

但是修复,花了整整两个月。

漏洞发现会越来越多,但是能修复这些底层漏洞的人,根本没有那么多。

这就像我们古话说的。

" 只有千日做贼的,哪有千日防贼的。"

我忽然想到了一个故事。

1871 年,写《爱丽丝梦游仙境》的卡罗尔出了续集《爱丽丝镜中奇遇》。书里有一个红皇后,拉着爱丽丝拼命地跑,跑了半天,爱丽丝发现周围的风景一点都没变。

红皇后告诉她:" 在这里,你得拼尽全力地跑,才能留在原地。"

这好像就是 AI 如今给社会带来的困境。

不只是安全。科学发现在加速,写代码在加速,复制软件在加速,攻击在加速,防守也在加速,好的东西和坏的东西,一起都在疯狂的加速。

而我们每个人,都在这场红皇后的赛跑里。

停下来的代价,就是那些没人记得的老网站、15 年前搭好就再没登录过的后台、还在跑 PHP 5 的公司系统,它们在慢世界里可以安稳地待上很多年,可在快世界里,就是活靶子。

相信我,这个世界一定有无数的不再维护的 PHP 的老项目,他们现在,全是靶子。

人跑不过 AI,这件事已经不用辩论了。

但在整个故事里,每一个关键的决策节点,站的依然都还是人。

有善意的,有恶意的。

现在,这个无所不能的工具交到了所有人的手上。

正义会战胜邪恶吗?

AI 可以让人类一夜之间拥有过去难以想象的力量,却没法让人类在一夜之间,学会与这种力量相匹配的克制。

当技术进步的速度。

远远超过人性成熟的速度。

我们究竟是在奔向一个更好的世界,还是在加速奔向自己的深渊?

说实话,我现在不知道了。

智客推

智客推

ZAKER 智客推 GEO | AI 时代的品牌认知解决方案

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

php ai 网络安全 安全漏洞
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论