TL;DR:PHP 是最多网站使用的后端编程语言,研究人员借助 AI 在里面找到两个严重漏洞,受影响的版本最早可追溯到十四年前,攻击者不必登录就可能在网站服务器上执行自己的程序。修补公布前消息外流,攻击尝试也已经出现,日本首相高市早苗在 X 上请大家当晚处理,来不及修补的话,暂时停站也是办法之一。一般用户不用惊慌。有自己网站的人,要确认主机上的 PHP 已经更新。
皆様に、今夜に対応して頂きたい大至急のお願いです。
多くのウェブサイトで使用されているPHPに関し、PHPのセキュリティチームが、重大な2件の脆弱性に関する注意喚起を行っています。
公開しているウェブサイトでPHPを使用しているか確認し、今夜、10月21日午後11時(日本時間)に公開される修正パッチについて、可及的速やかに適用できるよう準備をお願いします。
修正パッチを速やかに適用することが困難な場合は、例えばウェブサイト等を一時的に停止させることも、リスクを低減させるための有効策の一つと考えられます。
国家サイバー統括室のXアカウントでも関係する情報を発信していますので、そちらも参考にして下さい。 国家サイバー統括室(注意・警戒情報)(@cyber_forecast) / X
有件事非常紧急,想拜托各位今晚就处理。
关于许多网站都在使用的 PHP,PHP 的网络安全团队针对两个重大漏洞发出了警示。
请确认各位对外公开的网站有没有使用 PHP,并做好准备,让今晚 10 月 21 日晚上 11 点(日本时间)公布的修补程序,能够尽快套用。
如果很难马上套用修补程序,例如暂时让网站停止运作,也可以算是降低风险的有效做法之一。
国家网络统括室的 X 账号也在发布相关信息,请一并参考。 国家网络统括室(注意・警戒信息)(@cyber_forecast)/ X
上面是日本首相高市早苗在日本时间 2026 年 10 月 21 日晚上 9 点 55 分(台湾时间 8 点 55 分)发在 X 上的全文。
台湾时间 10 月 22 日下午一点半,我在 X 的推荐页滑到这则贴文,看到的是系统自动翻成中文的版本。画面显示它已经发出 16 小时,点赞数 32 万。
一国首相用自己的账号,要大家「今晚」处理一个编程语言的漏洞,这种新闻并不常见。日本科技媒体 ITmedia 也说,首相直接在 X 上针对个别软件漏洞喊话,是罕见的做法。
我把截图丢给 AI,请它先查我经手的网站有没有中招,再把整件事从头查一遍。这篇是查完的整理,写给不写代码、但每天都在用网站的人。
PHP2Shell 是什么?为什么两个漏洞能让各国网站停机
PHP2Shell 是 PHP 里的两个漏洞,编号 CVE-2026-109618 和 CVE-2026-109619。攻击者不需要账号密码,只要对网站送出特制的请求,就可能在网站的服务器上执行自己的程序。
PHP 是写网站用的编程语言。你逛的博客、下单的网络商店,很多背后都是它在跑,最有名的例子是 WordPress。依 W3Techs 的统计,在能辨识后端语言的网站里,有 69.3% 用 PHP,接近七成。
这个名字拆开来看,就是从 PHP 拿到 shell。shell 是服务器的命令窗口,拿到它,就能用网站程序的身份在那台机器上下指令。能做到多大程度,要看网站的权限怎么设置。
两个漏洞的严重度都被 PHP 团队评为 9.2 分(满分 10 分)。网络安全研究员 Kevin Beaumont 认为,这会引发一大波网络安全事件,是这几年最大的漏洞之一。
依 Wiz 和 Calif 的说法,研究人员找到最早受影响的是 2012 年的 PHP 5.4,从那时一直到修补前最新的 8.5.11,每个版本都至少受其中一个漏洞影响。算起来,最老的问题在 PHP 里至少存在了十四年。
这两个漏洞是怎么回事?用餐厅厨房来比喻
把网站想成一间餐厅。你在网页上按下按钮,就像递出一张点菜单。PHP 是厨房,照着单子做出你看到的页面。每张单,厨房都在一个工作台上处理,做完收干净,再接下一张。
第一个漏洞出在「做到一半没料了」的时候。PHP 处理请求时,如果内存用完被迫中断,有些数据只填了一半。负责收拾的程序却把这些填一半的数据当成完整的,照着处理下去。攻击者可以故意制造这种中断,让收拾的程序照着他动过手脚的半张单做事。
第二个漏洞出在「上一张单没收干净」。一个请求处理完,那块内存已经释放,PHP 却还留着指向它的线索。同一个工作台接下一张单时,又拿这条过期的线索去用。研究人员利用这个缝隙做到远程执行代码。
研究人员也示范了,这组漏洞能把服务器内存里残留的东西读出来,里面可能有密码、登录凭证和 API 密钥(Qualys 的整理)。
PHP 官方公告也指出,在 Apache 搭配 mod_php 的部署方式下,攻击可以在网站自己的程序开始执行前就触发,官方把这种部署方式列为风险最高。网站程序写得再小心也没用,问题出在厨房的设备上。
AI 怎么找到 PHP 里藏了多年的漏洞?
8 月 11 日,网络安全测试公司 Calif 和 OpenAI 在同一天,分别向 PHP 回报了同一个根本问题。Calif 参加的是 OpenAI 的「Patch the Planet」计划,用的是 OpenAI 的模型 GPT-5.6 Sol。8 月 24 日,Google 旗下的网络安全公司 Wiz 也独立回报,用的是自家的 AI 代理 Wiz Atlas,搭配 Gemini 4 Argon 和 GPT-5.6 Sol(PHP 基金会说明、TechCrunch)。
他们走的是网络安全界的标准流程「负责任披露」:先私下通知 PHP 团队,给对方时间准备修补,再约好一个时间点,让修补程序和漏洞细节一起公布。这次原本约定的公布时间,是 UTC 10 月 22 日 14 点。据 Fortune 报道,OpenAI 在公布前还找了 Cloudflare 等业者和几个美国政府单位一起准备。
这个漏洞也不是完全没人碰过。PHP 基金会说,早在 2024 年,就有受基金会委托的核心开发者发现第一个漏洞背后「内存不足」问题的最初迹象。当时有人推想它可能被拿来攻击,但没找到具体的攻击方法。修补方案有好几个,各有取舍,工作停了又重来,拖了好几个月。基金会自己承认,这段延误是结构性的失败,原因出在安全团队的决策流程和人手不足。直到 8 月的通报让问题的严重程度变清楚,修补才成为第一优先。
过去要把一个漏洞做成能在不同版本和设置下都奏效的攻击程序,需要不少专业功夫。Wiz 在博客里说,前沿 AI 模型大幅降低了这道门槛,让一个存在多年的漏洞变成能用的攻击程序。OpenAI 也提醒,能找出漏洞的能力,同样能帮攻击者更快写出攻击工具。
修补还没出来,攻击就先到了?外流与几小时的赛跑
保密没有完全守住。10 月 20 日,有人在科技论坛 Hacker News 发文,抢先讲出两个漏洞的编号,还说严重度是满分。贴文后来删了,网络安全公司很快确认这两个漏洞确实存在(Infosecurity Magazine)。PHP 基金会事后说明,外流的是编号,附带的公布时间和评分都是错的(正式评分是 9.2),技术细节并没有外流。外流之后,PHP 团队把公布时间提前一天,改在 UTC 21 日 14 点,也就是台湾时间 21 日晚上十点、日本时间晚上十一点。
后面又出了两个破口。几个小时后,发现漏洞的 Calif 不小心公开一段示范视频,画面显示他们的攻击示范程序在多个目标上奏效,也多透露了一些有限的细节。21 日下午(台湾时间),网络安全业者 Chainguard 又没等约定时间,就抢先发布含有修补的程序版本。基金会说,从这时起,攻击者已经能研究修补的内容,其他 PHP 用户却还在等正式版本。
更早的迹象在 Amazon 的诱捕系统里。Amazon 架了一批专门引黑客上门的假服务器,叫 MadPot。根据 Amazon 的报告,MadPot 在 10 月 17 日就记录到一次针对这个漏洞的攻击尝试,比公开早了四天。对方怎么提前拿到信息,Amazon 也还不清楚。Amazon 也记录到,台湾时间 21 日上午十点左右,已经有多份攻击示范程序出现,离正式公布还有十二个小时。Amazon 也说,还无法确定这些尝试在真实系统上能不能得手。PHP 团队则表示,正式公布时,还没有确认到能实际运作的攻击程序。
Cloudflare 执行长 Matthew Prince 在 X 上公布他们网络上看到的数字:公布前十个小时,有几千次攻击尝试。公布后 45 分钟,跳到几万次。两小时内,几十万次。到他发文时,已经是几百万次。
Amazon 的报告里有一句话:「保密期能保护防守方,只到别人也找到同一个漏洞为止。」他们建议,碰到这种对外开放的重大漏洞,修补时程要以小时计算。
📊 关键数据
- 受影响版本:研究人员找到最早的是 PHP 5.4,一直到 8.5.11(每个版本至少受其中一个漏洞影响)
- 严重度:两个漏洞皆为 CVSS v4.0 9.2 分
- 修补版本:8.5.12/8.4.27/8.3.36/8.2.35
- 最早攻击尝试:2026 年 10 月 17 日,公开前四天(Amazon MadPot)
- 公布后两小时:数十万次攻击尝试(Cloudflare)
为什么日本首相要出面?停站就像放台风假
日本负责网络安全的政府单位「国家サイバー統括室」在 X 上发出警示,高市早苗也在日本时间 21 日晚上 9 点 55 分发文,请大家参考统括室的信息。一小时后的晚上 11 点,修补程序公布。
从 21 日下午到深夜(日本时间),日本许多服务主动停机。网络开店平台 BASE 在说明页写明,是因为使用的 PHP 有重大漏洞,把原本晚上十点的维护提前到下午三点五十分。Cygames 的《赛马娘》等游戏,也以 PHP 漏洞为由紧急维护。插画社群 pixiv、视频网站 niconico 和札幌市政府官网同一晚也暂停服务,不过公告里没有点名 PHP(整理自 Webセキュリティ診断センター)。金融业也跟进,路透社报道三菱 UFJ 金融集团暂停部分网络服务,财务省也暂停了部分网站内容。高市早苗自己的官网,也从当晚停掉,隔天中午前后处理完才重新开放。
ITmedia 整理了工程师的反应:首相亲自发言,让企业高层也意识到风险。ITmedia 也分析,停机会影响营运,修补常被往后推。首相把暂时停站说成降低风险的有效做法之一,可以推经营者一把,下决心停机。
这个道理,台湾人应该不陌生,就像台风假。台风还没登陆,县市政府就宣布停班停课,为的是在灾情发生前先把人留在安全的地方。日本那一晚的停站潮,就是网络世界的台风假。
隔天 22 日,东京股市的网络安全股跟着上涨。Investing.com 报道,市场预期网络安全服务的需求会增加。收盘时,趋势科技涨 8.69%,FFRI 涨 9.62%。做企业邮件和邮件网络安全的 サイバーソリューションズ(Cyber Solutions,股票代码 436A)收在 2,000 日元,涨 20.85%,成交量约 627 万股,是前一天的 8.7 倍(株探收盘数据)。这家公司 10 月 6 日宣布为 AI 邮件网络安全服务举办推出纪念活动,同一天股价收涨 21.38%,那天 FFRI 和趋势科技也分别涨了 6.38% 和 2.76%。截至 22 日下午,官网没有针对 PHP2Shell 的公告,22 日这一波比较像整个网络安全板块一起被买上去。(披露:我持有这家公司的股票。这段只整理市场反应,不构成投资建议。)
其他国家也有动作。美国网络安全暨基础设施安全局(CISA)呼吁立即修补。英国国家网络安全中心(NCSC)呼吁英国企业立刻更新,做不到就先让系统下线。路透社也报道,欧洲有政府网站暂时下线。
台湾这边,数位发展部资通安全署在 22 日发布新闻稿,请使用 PHP 的机关、学校和企业尽快确认版本并完成更新,更新后也要检查系统日志,看有没有异常访问。
我的网站有没有中招?我是怎么确认的
回到我自己。AI 花了几分钟,从外面把我经手的几个网站检查一轮:对每个网站要求 PHP 常用的网址,看服务器怎么回应,也翻网页源代码,找 WordPress 这类系统留下的痕迹。结果都没有看到 PHP。以 paulkuo.tw 为例,页面是事先产生好的静态文件,放在 Cloudflare 的边缘网络上,会员登录这类需要后端运算的功能交给 Cloudflare Workers。
我之前写过一次安全审计的经验:AI 说修好了不算,要用 curl 从外面实际敲过才算。这次判断的依据,也是服务器实际回传的东西。
我没中招的原因只有一个:用的架构里没有 PHP 这个零件。换成下一个漏洞出在我用的组件上,我一样得回答同一组问题:我知不知道自己的网站跑了哪些软件?出事的时候,能不能在几小时内修好?
AI 让漏洞藏不住之后,网络安全比的是什么?
把时间轴摊开来看。最老的问题在 PHP 里至少存在了十四年,今年八月被借助 AI 的研究人员找出来。修补公布前十二小时,已经出现攻击示范程序。公布后两小时,攻击尝试达到几十万次。
AI 让漏洞藏不住了,网络安全的胜负从谁先找到,移到谁先改好。
改得快,要靠平常的准备。你得知道自己的网站跑了哪些软件,出事时要有人有权限立刻更新,必要时也要有人敢说先停站。这三件事都得在平常就安排好,等警报响了才找人,就来不及了。
高市早苗在日本时间 22 日下午一点(台湾中午)发的第二则贴文,讲的也是这件事。她说自己的官网前一晚由事务所联络网站和服务器的管理者,先关站处理,处理完才重新开放,也说视情况暂时停站,也是重要的做法。她提到,有些网站经营者遇到需要半夜处理的状况,未必能马上看到警示。如果公司里负责网站的人,或受委托的网站和服务器管理者先察觉,就能尽早动手。她认为,这些管理者如果都关注日本政府发布网络安全警示的 X 账号 @cyber_forecast,应该能更快应对(ITmedia 报道)。
以西结书第 33 章讲过守望者的责任:守望的人看见刀剑临到,就要吹角警戒百姓。听见角声却不理会的,后果自己承担。守望的人看见了却不吹角,责任就落在守望的人身上。
高市早苗那天晚上做的,就是吹角。隔天那则贴文,则是告诉大家下次该去哪里听角声。
角声响过之后
如果你只是用网站的人,这几天看到常用的服务在维护,不用慌,那多半是经营者照着警报在做事。你能做的,是别在不同网站重复用同一组密码,也小心这段期间打着「网络安全更新」名义寄来的邮件。
如果你有自己的博客或网络商店,问主机商一句话:主机上的 PHP 更新到修补版了吗?修补版是 8.5.12/8.4.27/8.3.36/8.2.35,依你用的分支择一。还在用 PHP 8.1 或更旧版本的,官方已经不提供一般更新,只针对 7.4 到 8.1 发布最小修补。最稳的做法是升级到仍有支持的版本,来不及就先把网站停掉。PHP 官方在公告里写:「没有完整的缓解措施,更新是唯一安全的选择。」
下一次角声响起,未必有首相提前一晚提醒。到时候,你的组织里有没有人知道该修什么,又有没有人敢喊停?
想看更多 AI 怎么改写秩序的讨论:智能与秩序。


💬 留言讨论
加载中...