mt logoMyToken
ETH Gas
EN

AI挖出藏了十几年的底层PHP漏洞,网络安全也回不去那个旧时代了

Favoritecollect
Shareshare

作者: 数字生命卡兹克

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

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

只能说,我们整个时代和社会,在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可以让人类一夜之间拥有过去难以想象的力量,却没法让人类在一夜之间,学会与这种力量相匹配的克制。

当技术进步的速度。

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

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

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

Disclaimer: This article is copyrighted by the original author and does not represent MyToken’s views and positions. If you have any questions regarding content or copyright, please contact us.(www.mytokencap.com)contact
More exciting content is available on
X(https://x.com/MyTokencap)
or join the community to learn more:MyToken-English Telegram Group
(https://t.me/mytokenGroup)