网易首页 > 网易号 > 正文 申请入驻

PHP 被 AI 挖出两个藏了 20 年的漏洞,日本首相都出来催补丁

0
分享至



PHP 是我最早学、也是用得最久的动态语言。

在很长一段时间里,它都是互联网公司的首选。我到现在还记得当年写 PHP、维护 PHP 网站的那些点点滴滴。

那会儿建站有个黄金组合:PHP 加 MySQL 加 Apache。再后来,Nginx 慢慢顶替了 Apache 的位置。

所以这两天看到 PHP 被 AI 挖出两个能远程拿下服务器的漏洞,我的第一反应是:意料之中。

但这么严重、影响面这么广,还是让我震惊了。

10 月 21 日,PHP 紧急发布新版本,修了两个漏洞,编号 CVE-2026-109618 和 CVE-2026-109619,严重程度都是 9.2 分(满分 10 分)。

它们有个外号,叫 php2shell。

攻击者不用登录,发几个特制的请求,就可能在服务器上执行自己的代码。PHP 5.4 以来的版本,几乎都至少中一个。

这事闹得有多大?美国 FBI、CISA 当天发帖催大家打补丁。

日本首相高市早苗在 X 上发帖,请大家当晚就打补丁,来不及的话先把网站停掉。据路透社报道,欧洲等地一批政府网站当天主动下线。


图:FBI、CISA 和日本首相的帖子

同一天,Node.js 也修了 10 个漏洞,其中一个能远程执行代码。

不过要先说清楚:PHP 这两个是 AI 参与挖出来的,Node.js 这批目前没有任何可信来源说跟 AI 有关。

漏洞出在哪

先说一个背景:你访问一个 PHP 网站,PHP 要先把表单、上传的文件这些数据解析好,然后才轮到网站自己的代码。请求处理完,PHP 还要做一遍收尾清理。

这两个漏洞,就出在这一头一尾。

第一个漏洞(109618),是内存撑爆后留下的“半成品”。

PHP 给每个请求设了内存上限,默认 128 MB,也限制了上传的大小。

攻击者发的请求没超过大小限制,但里面塞了成千上万个空字段和请求头。PHP 要给每一项建登记,内存比请求本身占得多,很快就被撑满。

PHP 往登记表里加一条时,是先把计数加 1,再写内容。如果刚好卡在这两步中间内存用完,PHP 会立刻“紧急跳出”,那一条就只写了一半。

用 Apache 的 mod_php 跑 PHP 时,不管请求成没成功,都会照常跑收尾清理。

清理程序按计数挨个处理,碰到那条没写完的记录,里面其实是攻击者提前布置好的数据。


图:漏洞一:内存撑爆留下半成品

第二个漏洞(109619),是上一个请求留下的“旧记录”。

一个 PHP 工作进程,会一个接一个地处理很多请求。有些信息,比如报错和会话,会存在进程的全局记录里,指向当前请求的那块内存。

攻击者先发一个请求,故意让它出致命错误中途退出,全局记录没来得及清掉。请求结束后,那块内存被回收,记录却还指着它。

接着攻击者再发一个请求,往同一块内存里塞自己的数据。新请求还没正式初始化,PHP 就先按那条旧记录去读,读到的正是攻击数据。


图:漏洞二:上一个请求的旧记录

最要命的是时机:这一切都发生在网站代码的第一行之前。你代码写得再小心,登录校验做得再严,都拦不住。

用 Apache 的 mod_php 最危险,默认配置就能被打穿。Nginx 加 PHP-FPM 也逃不掉,Calif 专门演示了这种组合下的攻击。

除了执行代码,漏洞还能读到服务器内存,里面可能有密码、令牌和 API 密钥。

你要怎么办

如果你手上还有 PHP 网站,要升级的是 PHP 本身。

修复版本是 8.5.12、8.4.27、8.3.36 和 8.2.35。

7.4、8.0、8.1 已经停止维护,官方这次只给了源码补丁,没有发正式版本,要自己编译,或者等发行版和主机商打好。7.3 及更早的版本,连源码补丁都没有。


图:你的 PHP 要升到哪

只升级 WordPress、Drupal 这类程序没用。漏洞在 PHP 运行时里,程序还没开始跑,它就已经出事了。升级完,记得把所有 PHP 进程重启一遍。

实在没法马上升级,官方给了一个临时办法:把 memory_limit 设成 -1,也就是不限制 PHP 的内存。但官方也说了,这不算完整修复,还会带来内存被耗光的风险。

OpenAI 还专门做了一个 Codex 技能,帮你检查自己的 PHP 版本要不要升。

AI 到底做了什么

这两个漏洞,根子其实很老。

2004 年,安全研究员 Stefan Esser 就发现过 PHP 第一个和内存上限有关的远程漏洞。

2024 年,一次外部安全审计又碰到了相关问题,但没能证明可以被利用,于是没修。

转折在今年夏天。安全公司 Calif 加入了 OpenAI 发起的“Patch the Planet”计划,开始审计 PHP。

按 OpenAI 的说法,Calif 用的是 GPT-5.6 Sol。

7 月 30 日开始审计,8 月 1 日,Calif 就找到了第一条能打到远程执行的路径。

8 月 11 日报给 PHP,8 月 15 日 PHP 确认攻击演示能跑通,10 月 21 日发布补丁。


图:老问题,今年几天就打通

另一家安全公司 Wiz 也独立找到了这两个漏洞。他们用了自家的 Wiz Atlas,加上 Google 的 Gemini 4 Argon 和 GPT-5.6 Sol。

Wiz 特别提到,Gemini 4 Argon 在找漏洞、写攻击程序、做攻击检测和验证补丁上都出了大力。

Wiz 的说法很直白:这些漏洞存在了十几年,要证明能被利用,得把好几个问题串成一条很复杂的链,几乎到了人类研究员的极限。

前沿模型把这个门槛降了下来:以前要一支顶尖团队干几个月的活,现在一个研究员一周就做完了。


图:人定方向,AI 提速

不过,AI 不是按一下按钮就把漏洞挖出来了。

Calif 的研究员 Ryan Austin 写得很清楚:他没用什么特殊工具,也没用外面拿不到的模型。

关键是他熟悉 PHP 这 20 年的漏洞史,心里有个猜测,再引导模型往那个方向去找。

他还说,模型默认会从最新、最出名的漏洞往周边找,不会主动去翻 20 年前的冷门手法。

TechCrunch 有句话总结得挺准:这个漏洞是因为 AI 才被发现、被提前防住的,但它变得这么危险,也是因为 AI。

AI 也站在另一边

按原计划,这是一次“先修好、再公开”的协调披露。OpenAI 说,他们牵头协调了两个月,拉上 PHP 维护者、Wiz、Cloudflare 等一起提前准备。

Cloudflare 在公开前约 9 小时,就给免费和付费用户上了防护规则。

但细节提前泄露了。Cloudflare 说,泄露后他们看到了冲着客户来的攻击流量,攻击者还在不停改写攻击代码,想绕过规则。

网上随之冒出一堆号称能用的攻击代码。安全研究员 Marcus Hutchins 看了一圈,说大部分是 AI 糊出来的,根本跑不起来,但至少有一个是真能用的。

至于有没有人已经被打,说法还不一致:美国 CISA 说还没观察到利用,Krebs 引述的专家则说已经有人在用了。

Wiz 的判断是,接下来很可能会有人大规模利用这两个漏洞,往网站里装后门。

扫描公司 Censys 的数据是,互联网上大约有 258 万台主机、5490 万个网站在跑 PHP。

Node.js:同一天,但不是 AI

PHP 发补丁的同一天,Node.js 也发了安全更新,22、24、26 三个版本线一起修了 10 个漏洞。


图:Node.js 这次修的 10 个漏洞

最严重的是 Brotli 解码越界写。Brotli 是一种常见的网页压缩格式,Node.js 自带解压功能。

按修复提交里的测试用例,问题出在一种“自相矛盾”的压缩数据上:头部声明只有 1 种块类型,后面却要求切换到另一种。

旧版解码器没及时拦住,继续往缓冲区里写,就写出了边界,改写了不该碰的内存,严重时可能被用来执行代码。


图:Brotli:自相矛盾的压缩数据

受影响的主要是会解压外部 Brotli 数据的 Node.js 程序。新版遇到这种数据,会直接报错。

另外两个高危漏洞,出在 TLS 证书的主机名校验上。

比如有人把 IP 写成全角数字“127.0.0.1”,或者写成“127.1”这样的简写。Node.js 检查证书时,先把它规范成 127.0.0.1,却当成域名去和证书比对;系统真正连接时,又把它当成 IP 地址。

两边对同一个地址理解不一致,一张本不该通过的证书就可能混过去,给中间人冒充留下机会。新版对这类写法统一按 IP 比对,或者直接拒绝。


图:证书校验:同一个地址两种理解

还有一个高危漏洞,会让 dns.resolve 遇到空字符时把域名截断。

修复版本是 22.23.4、24.22.1 和 26.12.1。已经停止维护的 20 及更早版本,官方不会再修。

这次更新还顺手把印度证书机构 eMudhra 那批出问题的中间证书,从 Node.js 自带的证书列表里删掉了。

至于是不是 AI 挖出来的:官方公告里致谢的都是具体的报告人,最严重的 Brotli 漏洞是 Node.js 核心成员 Matteo Collina 自己报的,没有一处提到 AI。

倒是修复其中一个 TLS 漏洞的提交里,标着 “Assisted-by: Pi”,看起来修代码时借助了 AI 编程工具。但这是修,不是找。

同一周,还有这些

GitLab 自托管版本出了一个 10 分漏洞,不用登录就能远程执行代码,影响可以追溯到 2014 年的版本。

印度证书机构 eMudhra 的私钥泄露,可能被人拿去签假证书、冒充正规网站。

Nginx 在 10 月 14 日修了 3 个 9.2 分漏洞,不过都要特定配置才能触发,没闹出 PHP 这么大的动静。

真正和 AI 有关的是今年 5 月那次:一家叫 depthfirst 的公司用 AI,挖出了 Nginx 一个藏了 18 年的远程执行漏洞。

网友怎么看

安全圈的账号 vx-underground 把那天早上写成了一段流水账:起床,刷手机,所有人都在喊 PHP,点进去一看,php2shell。

还有人替创业公司的初级程序员写了一段:周三早上只想推个小修复,一打开 Slack,公司群已经成了战场,CTO 全大写刷屏 php2shell。

合上电脑,离开公司,再也不回来。

发现者 Calif 看到日本首相的帖子,也忍不住说:首相都出来催大家升级 PHP 了,看来事情确实挺严重。

最后

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

AI 让防守的一方先找到漏洞,也让攻击的一方更快写出攻击代码。这件事最后对哪边更有利,我说不好。

我只知道,当年那些用 PHP 搭起来、后来再也没人登录过的老网站,现在都暴露在外面。

你手上还有 PHP 或 Node.js 的服务吗?升级了没有?

参考资料

01|PHP 安全公告 CVE-2026-109618

https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w

02|Calif,php2shell

https://calif.io/php2shell

03|Wiz,PHP2Shell

https://www.wiz.io/blog/php2shell-php-rce

04|OpenAI,Patch the Planet

https://openai.com/index/coordinated-disclosure-of-critical-vulnerabilities/

05|Node.js 2026 年 10 月安全更新

https://nodejs.org/en/blog/vulnerability/october-2026-security-releases

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
赛力斯10月销量27037辆 同比下降50%

赛力斯10月销量27037辆 同比下降50%

观点机构
2026-11-01 17:46:02
今晚告诉大家:无限子弹

今晚告诉大家:无限子弹

贩财局
2026-11-01 21:43:05
逛跳蚤市场捡大漏!10欧买的“假玩具”戴了30年,竟是65万欧元稀有大钻

逛跳蚤市场捡大漏!10欧买的“假玩具”戴了30年,竟是65万欧元稀有大钻

意大利华人网0039
2026-11-01 16:23:54
章泽天亮相香港慈善晚宴,状态引发网友热议

章泽天亮相香港慈善晚宴,状态引发网友热议

墨薷桃桃
2026-11-01 16:00:34
中方宣布:马特维延科将率团访华

中方宣布:马特维延科将率团访华

极目新闻
2026-11-01 15:28:15
“花轿变轮椅”,女子两次遭男友伤害致伤;当事人起诉对方生命权健康权纠纷案明日开庭,对方曾称“上了法院不是你死就是我活”

“花轿变轮椅”,女子两次遭男友伤害致伤;当事人起诉对方生命权健康权纠纷案明日开庭,对方曾称“上了法院不是你死就是我活”

极目新闻
2026-11-01 15:28:15
华为制药军团总裁反问药企:干实验为什么要4周,能不能缩短到1天,1小时?

华为制药军团总裁反问药企:干实验为什么要4周,能不能缩短到1天,1小时?

不掉线电波
2026-11-01 14:01:42
4-2!战胜陈熠晋级决赛!没想到蒯曼赛后这样说:和陈熠从小打到大

4-2!战胜陈熠晋级决赛!没想到蒯曼赛后这样说:和陈熠从小打到大

球场新视角1号
2026-11-01 19:11:16
加息,大消息!美联储,重磅发声!

加息,大消息!美联储,重磅发声!

证券时报
2026-11-01 16:36:07
德国大学现兰州牛肉面档口,上百人排队购买,中国留学生:味道很正宗,每碗6欧元,一个小时就能全卖完

德国大学现兰州牛肉面档口,上百人排队购买,中国留学生:味道很正宗,每碗6欧元,一个小时就能全卖完

极目新闻
2026-11-01 11:40:35
这都不算强奸?

这都不算强奸?

燕梳楼频道
2026-11-01 14:40:15
股民圈炸锅!网传游资王子晗变卖房产还债,30岁收官自己的A股历程

股民圈炸锅!网传游资王子晗变卖房产还债,30岁收官自己的A股历程

火山詩话
2026-11-01 19:56:01
没想到,网友们又发现了徽剑遇害的第三波内情了

没想到,网友们又发现了徽剑遇害的第三波内情了

清晖有墨
2026-11-01 08:25:47
中国潜水教练在马尔代夫18米水下遭3名外籍潜水人员拉拽撕扯,涉事船宿方:已提交调查

中国潜水教练在马尔代夫18米水下遭3名外籍潜水人员拉拽撕扯,涉事船宿方:已提交调查

扬子晚报
2026-10-30 15:56:02
现场画面:高市早苗屡次引导外国领导人向日本国旗鞠躬,英法德意领导人均被套路,孟加拉国总理未中招,特朗普直接无视

现场画面:高市早苗屡次引导外国领导人向日本国旗鞠躬,英法德意领导人均被套路,孟加拉国总理未中招,特朗普直接无视

极目新闻
2026-11-01 13:48:10
正式生效!越南各类汽油消费税降至0%

正式生效!越南各类汽油消费税降至0%

缅甸中文网
2026-11-01 13:27:20
“老棺材,多关他一下”,63岁老人被困小区电梯,质问物业人员竟遭恶语辱骂,20分钟后在棋牌室猝死!法院:物业赔偿23万余元

“老棺材,多关他一下”,63岁老人被困小区电梯,质问物业人员竟遭恶语辱骂,20分钟后在棋牌室猝死!法院:物业赔偿23万余元

都市快报橙柿互动
2026-11-01 15:17:32
膈应啊!网友自述星巴克等人落座20分钟,店员提醒消费入座,被迫花32元点美式咖啡,怒斥心中不满

膈应啊!网友自述星巴克等人落座20分钟,店员提醒消费入座,被迫花32元点美式咖啡,怒斥心中不满

火山詩话
2026-11-01 09:50:40
林涛当选厦门市委书记(附简历)

林涛当选厦门市委书记(附简历)

农民日报
2026-11-01 22:33:52
小小徐婚礼烂尾收场!3个难堪场面,把人性的恶体现得淋漓尽致

小小徐婚礼烂尾收场!3个难堪场面,把人性的恶体现得淋漓尽致

柚子新媒
2026-11-01 11:46:44
2026-11-01 23:04:49
AI范儿 incentive-icons
AI范儿
AI范儿是一个专注于人工智能领域的资讯和学习平台,提供最新的人工智能资讯
879文章数 682关注度
往期回顾 全部

科技要闻

52年来最惨的一天,暴跌28%英特尔冤不冤?

头条要闻

女子孕38周在电梯厅遇瓷砖掉落 致胎心异常、提前分娩

头条要闻

女子孕38周在电梯厅遇瓷砖掉落 致胎心异常、提前分娩

体育要闻

文班要劈43分,才能险胜带伤的狼?

娱乐要闻

低调同居!邢昭林卢洋洋深夜同丢垃圾

财经要闻

金价跌破3900美元,是买入的良好时机吗?

汽车要闻

即将达成第200万台下线!零跑10月全球交付达106127台

态度原创

数码
亲子
房产
公开课
军事航空

数码要闻

三季度厨卫市场零售额规模同比下滑10.3%

亲子要闻

孩子尿床先别急着骂!

房产要闻

单月杀进全省前十!崖州卖最火的盘,产品真能打

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

伊朗:已制定新的"敌方目标与资产清单"

无障碍浏览 进入关怀版