# 高市早苗为什么要大家今晚就处理？一次看懂 PHP2Shell 漏洞

> 最多网站使用的后端编程语言 PHP，爆出两个不必登录就可能在服务器上执行程序的漏洞 PHP2Shell。受影响版本最早可追溯到十四年前，研究人员借助 AI 找出漏洞。修补公布前消息外流，Cloudflare 在公布后两小时内观察到数十万次攻击尝试。用一般人听得懂的话，讲清楚发生什么事、日本首相为什么出面，以及你需要做什么。

- Author: Paul Kuo（郭曜郎）
- Date: 2026-10-22
- Pillar: 智能与秩序 / Intelligence & Order
- Tags: PHP2Shell, PHP 漏洞, AI 网络安全, 漏洞披露, 高市早苗, WordPress, Cloudflare
- Canonical: https://paulkuo.tw/zh-cn/articles/php2shell-patch-tonight/
- Language: Simplified Chinese (简体中文)
- Translation: AI-translated from the zh-Hant (Traditional Chinese) original
- Original (zh-Hant): https://paulkuo.tw/articles/php2shell-patch-tonight.md
- Site index for LLMs: https://paulkuo.tw/llms.txt

---

> **TL;DR**：PHP 是最多网站使用的后端编程语言，研究人员借助 AI 在里面找到两个严重漏洞，受影响的版本最早可追溯到十四年前，攻击者不必登录就可能在网站服务器上执行自己的程序。修补公布前消息外流，攻击尝试也已经出现，日本首相高市早苗在 X 上请大家当晚处理，来不及修补的话，暂时停站也是办法之一。一般用户不用惊慌。有自己网站的人，要确认主机上的 PHP 已经更新。

> 皆様に、今夜に対応して頂きたい大至急のお願いです。
>
> 多くのウェブサイトで使用されているPHPに関し、PHPのセキュリティチームが、重大な２件の脆弱性に関する注意喚起を行っています。
>
> 公開しているウェブサイトでPHPを使用しているか確認し、今夜、10月21日午後11時（日本時間）に公開される修正パッチについて、可及的速やかに適用できるよう準備をお願いします。
>
> 修正パッチを速やかに適用することが困難な場合は、例えばウェブサイト等を一時的に停止させることも、リスクを低減させるための有効策の一つと考えられます。
>
> 国家サイバー統括室のXアカウントでも関係する情報を発信していますので、そちらも参考にして下さい。
> 国家サイバー統括室(注意・警戒情報)（[@cyber_forecast](https://x.com/cyber_forecast)） / X

> 有件事非常紧急，想拜托各位今晚就处理。
>
> 关于许多网站都在使用的 PHP，PHP 的网络安全团队针对两个重大漏洞发出了警示。
>
> 请确认各位对外公开的网站有没有使用 PHP，并做好准备，让今晚 10 月 21 日晚上 11 点（日本时间）公布的修补程序，能够尽快套用。
>
> 如果很难马上套用修补程序，例如暂时让网站停止运作，也可以算是降低风险的有效做法之一。
>
> 国家网络统括室的 X 账号也在发布相关信息，请一并参考。
> 国家网络统括室（注意・警戒信息）（@cyber_forecast）/ X

上面是日本首相高市早苗在日本时间 2026 年 10 月 21 日晚上 9 点 55 分（台湾时间 8 点 55 分）发在 [X](https://x.com/takaichi_sanae/status/2112890642590564386) 上的全文。

台湾时间 10 月 22 日下午一点半，我在 X 的推荐页滑到这则贴文，看到的是系统自动翻成中文的版本。画面显示它已经发出 16 小时，点赞数 32 万。

一国首相用自己的账号，要大家「今晚」处理一个编程语言的漏洞，这种新闻并不常见。日本科技媒体 [ITmedia](https://www.itmedia.co.jp/news/article/2610/22/2000002483/) 也说，首相直接在 X 上针对个别软件漏洞喊话，是罕见的做法。

我把截图丢给 AI，请它先查我经手的网站有没有中招，再把整件事从头查一遍。这篇是查完的整理，写给不写代码、但每天都在用网站的人。

## PHP2Shell 是什么？为什么两个漏洞能让各国网站停机

PHP2Shell 是 PHP 里的两个漏洞，编号 CVE-2026-109618 和 CVE-2026-109619。攻击者不需要账号密码，只要对网站送出特制的请求，就可能在网站的服务器上执行自己的程序。

PHP 是写网站用的编程语言。你逛的博客、下单的网络商店，很多背后都是它在跑，最有名的例子是 WordPress。依 [W3Techs](https://w3techs.com/technologies/details/pl-php) 的统计，在能辨识后端语言的网站里，有 69.3% 用 PHP，接近七成。

这个名字拆开来看，就是从 PHP 拿到 shell。shell 是服务器的命令窗口，拿到它，就能用网站程序的身份在那台机器上下指令。能做到多大程度，要看网站的权限怎么设置。

两个漏洞的严重度都被 PHP 团队评为 9.2 分（满分 10 分）。网络安全研究员 Kevin Beaumont 认为，这会引发一大波网络安全事件，是这几年最大的漏洞之一。

依 [Wiz](https://www.wiz.io/blog/php2shell-php-rce) 和 [Calif](https://calif.io/php2shell/) 的说法，研究人员找到最早受影响的是 2012 年的 PHP 5.4，从那时一直到修补前最新的 8.5.11，每个版本都至少受其中一个漏洞影响。算起来，最老的问题在 PHP 里至少存在了十四年。

## 这两个漏洞是怎么回事？用餐厅厨房来比喻

把网站想成一间餐厅。你在网页上按下按钮，就像递出一张点菜单。PHP 是厨房，照着单子做出你看到的页面。每张单，厨房都在一个工作台上处理，做完收干净，再接下一张。

第一个漏洞出在「做到一半没料了」的时候。PHP 处理请求时，如果内存用完被迫中断，有些数据只填了一半。负责收拾的程序却把这些填一半的数据当成完整的，照着处理下去。攻击者可以故意制造这种中断，让收拾的程序照着他动过手脚的半张单做事。

第二个漏洞出在「上一张单没收干净」。一个请求处理完，那块内存已经释放，PHP 却还留着指向它的线索。同一个工作台接下一张单时，又拿这条过期的线索去用。研究人员利用这个缝隙做到远程执行代码。

研究人员也示范了，这组漏洞能把服务器内存里残留的东西读出来，里面可能有密码、登录凭证和 API 密钥（[Qualys 的整理](https://blog.qualys.com/vulnerabilities-threat-research/2026/10/20/php-announces-critical-security-release-for-two-vulnerabilities)）。

[PHP 官方公告](https://www.php.net/archive/2026.php#2026-10-21-5)也指出，在 Apache 搭配 mod_php 的部署方式下，攻击可以在网站自己的程序开始执行前就触发，官方把这种部署方式列为风险最高。网站程序写得再小心也没用，问题出在厨房的设备上。

![四格漫画：高市早苗为什么要大家今晚就处理？一次看懂 PHP2Shell 漏洞，把网站想成一间餐厅。你在网页上按下按钮，就像递出一张点菜单。PHP 是厨房，照着单子做出你看到的页面。每张单，厨房都在一个工作台上处理，做完收干净，再接下一张。第一个漏洞出在「做到一半没料了」的时候。问题出在厨房的设备上。](/images/articles/php2shell-patch-tonight/02-kitchen-zh-cn.svg)

## 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](/zh-cn/articles/gemini-4-argon-dashboard-admission/) 和 GPT-5.6 Sol（[PHP 基金会说明](https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/)、[TechCrunch](https://techcrunch.com/2026/10/21/php-armageddon-openai-googles-wiz-find-ancient-holes-panicking-the-internet/)）。

他们走的是网络安全界的标准流程「负责任披露」：先私下通知 PHP 团队，给对方时间准备修补，再约好一个时间点，让修补程序和漏洞细节一起公布。这次原本约定的公布时间，是 UTC 10 月 22 日 14 点。据 [Fortune](https://fortune.com/2026/10/21/ai-tools-discovered-the-php-vulnerability-that-could-take-down-70-of-the-internet-now-the-race-is-on-to-patch-it-before-ai-powered-hackers-attack/) 报道，OpenAI 在公布前还找了 Cloudflare 等业者和几个美国政府单位一起准备。

这个漏洞也不是完全没人碰过。PHP 基金会说，早在 2024 年，就有受基金会委托的核心开发者发现第一个漏洞背后「内存不足」问题的最初迹象。当时有人推想它可能被拿来攻击，但没找到具体的攻击方法。修补方案有好几个，各有取舍，工作停了又重来，拖了好几个月。基金会自己承认，这段延误是结构性的失败，原因出在安全团队的决策流程和人手不足。直到 8 月的通报让问题的严重程度变清楚，修补才成为第一优先。

过去要把一个漏洞做成能在不同版本和设置下都奏效的攻击程序，需要不少专业功夫。Wiz 在博客里说，前沿 AI 模型大幅降低了这道门槛，让一个存在多年的漏洞变成能用的攻击程序。OpenAI 也提醒，能找出漏洞的能力，同样能帮攻击者更快写出攻击工具。

## 修补还没出来，攻击就先到了？外流与几小时的赛跑

保密没有完全守住。10 月 20 日，有人在科技论坛 Hacker News 发文，抢先讲出两个漏洞的编号，还说严重度是满分。贴文后来删了，网络安全公司很快确认这两个漏洞确实存在（[Infosecurity Magazine](https://www.infosecurity-magazine.com/news/critical-php-vulnerabilities-leaked/)）。[PHP 基金会事后说明](https://thephp.foundation/blog/2026/10/21/todays-php-security-release-and-how-were-strengthening-php-security/)，外流的是编号，附带的公布时间和评分都是错的（正式评分是 9.2），技术细节并没有外流。外流之后，PHP 团队把公布时间提前一天，改在 UTC 21 日 14 点，也就是台湾时间 21 日晚上十点、日本时间晚上十一点。

后面又出了两个破口。几个小时后，发现漏洞的 Calif 不小心公开一段示范视频，画面显示他们的攻击示范程序在多个目标上奏效，也多透露了一些有限的细节。21 日下午（台湾时间），网络安全业者 Chainguard 又没等约定时间，就抢先发布含有修补的程序版本。基金会说，从这时起，攻击者已经能研究修补的内容，其他 PHP 用户却还在等正式版本。

更早的迹象在 Amazon 的诱捕系统里。Amazon 架了一批专门引黑客上门的假服务器，叫 MadPot。[根据 Amazon 的报告](https://aws.amazon.com/blogs/security/amazon-threat-intelligence-identifies-php2shell-exploitation-prior-to-public-disclosure-in-madpot/)，MadPot 在 10 月 17 日就记录到一次针对这个漏洞的攻击尝试，比公开早了四天。对方怎么提前拿到信息，Amazon 也还不清楚。Amazon 也记录到，台湾时间 21 日上午十点左右，已经有多份攻击示范程序出现，离正式公布还有十二个小时。Amazon 也说，还无法确定这些尝试在真实系统上能不能得手。PHP 团队则表示，正式公布时，还没有确认到能实际运作的攻击程序。

Cloudflare 执行长 Matthew Prince [在 X 上公布](https://x.com/eastdakota/status/2113079352682570051)他们网络上看到的数字：公布前十个小时，有几千次攻击尝试。公布后 45 分钟，跳到几万次。两小时内，几十万次。到他发文时，已经是几百万次。

Amazon 的报告里有一句话：「保密期能保护防守方，只到别人也找到同一个漏洞为止。」他们建议，碰到这种对外开放的重大漏洞，修补时程要以小时计算。

![时间轴：研究人员找到最早受影响的是 2012 年的 PHP 5.4，问题至少存在十四年。2026 年 8 月，研究人员借助 AI 找到漏洞并回报 PHP。10 月 17 日 Amazon 诱捕系统记录到攻击尝试，比公开早四天。10 月 20 日漏洞编号外流。10 月 21 日晚上十点（台湾时间）修补公布。公布后两小时内，Cloudflare 看到几十万次攻击尝试。网络安全的胜负从谁先找到，移到谁先改好。](/images/articles/php2shell-patch-tonight/01-timeline-zh-cn.svg)

> **📊 关键数据**
> - **受影响版本**：研究人员找到最早的是 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セキュリティ診断センター](https://websec-center.com/blog/kokunai-kigyou-taiou/)）。金融业也跟进，[路透社报道](https://www.thestar.com.my/tech/tech-news/2026/10/22/cloudflare-sees-millions-of-exploit-attempts-after-php-disclosure)三菱 UFJ 金融集团暂停部分网络服务，财务省也暂停了部分网站内容。高市早苗自己的官网，[也从当晚停掉](https://www.nikkei.com/article/DGXZQOUA221J60S6A021C2000000/)，隔天中午前后处理完才重新开放。

ITmedia 整理了工程师的反应：首相亲自发言，让企业高层也意识到风险。ITmedia 也分析，停机会影响营运，修补常被往后推。首相把暂时停站说成降低风险的有效做法之一，可以推经营者一把，下决心停机。

这个道理，台湾人应该不陌生，就像台风假。台风还没登陆，县市政府就宣布停班停课，为的是在灾情发生前先把人留在安全的地方。日本那一晚的停站潮，就是网络世界的台风假。

隔天 22 日，东京股市的网络安全股跟着上涨。[Investing.com 报道](https://jp.investing.com/news/stock-market-news/article-1720674)，市场预期网络安全服务的需求会增加。收盘时，趋势科技涨 8.69%，FFRI 涨 9.62%。做企业邮件和邮件网络安全的 [サイバーソリューションズ](https://www.cybersolutions.co.jp/)（Cyber Solutions，股票代码 436A）收在 2,000 日元，涨 20.85%，成交量约 627 万股，是前一天的 8.7 倍（[株探收盘数据](https://kabutan.jp/stock/kabuka?code=436A)）。这家公司 10 月 6 日宣布为 AI 邮件网络安全服务举办推出纪念活动，同一天股价收涨 21.38%，那天 FFRI 和趋势科技也分别涨了 6.38% 和 2.76%。截至 22 日下午，官网没有针对 PHP2Shell 的公告，22 日这一波比较像整个网络安全板块一起被买上去。（披露：我持有这家公司的股票。这段只整理市场反应，不构成投资建议。）

![条形图：2026 年 10 月 22 日东京股市收盘，趋势科技涨 8.69%，FFRI 涨 9.62%，サイバーソリューションズ涨 20.85%。数据来源：株探。](/images/articles/php2shell-patch-tonight/security-stocks-1022-zh-cn.svg)

其他国家也有动作。美国网络安全暨基础设施安全局（CISA）[呼吁立即修补](https://www.cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-require-immediate-patching)。英国国家网络安全中心（NCSC）[呼吁英国企业立刻更新](https://www.bleepingcomputer.com/news/security/php-ships-emergency-patches-for-critical-php2shell-flaws/)，做不到就先让系统下线。路透社也报道，欧洲有政府网站暂时下线。

台湾这边，数位发展部资通安全署在 22 日[发布新闻稿](https://moda.gov.tw/ACS/press/news/press/21134)，请使用 PHP 的机关、学校和企业尽快确认版本并完成更新，更新后也要检查系统日志，看有没有异常访问。

## 我的网站有没有中招？我是怎么确认的

回到我自己。AI 花了几分钟，从外面把我经手的几个网站检查一轮：对每个网站要求 PHP 常用的网址，看服务器怎么回应，也翻网页源代码，找 WordPress 这类系统留下的痕迹。结果都没有看到 PHP。以 paulkuo.tw 为例，页面是事先产生好的静态文件，放在 Cloudflare 的边缘网络上，会员登录这类需要后端运算的功能交给 Cloudflare Workers。

我[之前写过一次安全审计的经验](/zh-cn/articles/ai-security-audit-ground-truth/)：AI 说修好了不算，要用 curl 从外面实际敲过才算。这次判断的依据，也是服务器实际回传的东西。

我没中招的原因只有一个：用的架构里没有 PHP 这个零件。换成下一个漏洞出在我用的组件上，我一样得回答同一组问题：我知不知道自己的网站跑了哪些软件？出事的时候，能不能在几小时内修好？

## AI 让漏洞藏不住之后，网络安全比的是什么？

把时间轴摊开来看。最老的问题在 PHP 里至少存在了十四年，今年八月被借助 AI 的研究人员找出来。修补公布前十二小时，已经出现攻击示范程序。公布后两小时，攻击尝试达到几十万次。

AI 让漏洞藏不住了，网络安全的胜负从谁先找到，移到谁先改好。

改得快，要靠平常的准备。你得知道自己的网站跑了哪些软件，出事时要有人有权限立刻更新，必要时也要有人敢说先停站。这三件事都得在平常就安排好，等警报响了才找人，就来不及了。

高市早苗在日本时间 22 日下午一点（台湾中午）发的[第二则贴文](https://x.com/takaichi_sanae/status/2113118173818224932)，讲的也是这件事。她说自己的官网前一晚由事务所联络网站和服务器的管理者，先关站处理，处理完才重新开放，也说视情况暂时停站，也是重要的做法。她提到，有些网站经营者遇到需要半夜处理的状况，未必能马上看到警示。如果公司里负责网站的人，或受委托的网站和服务器管理者先察觉，就能尽早动手。她认为，这些管理者如果都关注日本政府发布网络安全警示的 X 账号 [@cyber_forecast](https://x.com/cyber_forecast)，应该能更快应对（[ITmedia 报道](https://www.itmedia.co.jp/news/article/2610/22/2000002512/)）。

以西结书第 33 章讲过守望者的责任：守望的人看见刀剑临到，就要吹角警戒百姓。听见角声却不理会的，后果自己承担。守望的人看见了却不吹角，责任就落在守望的人身上。

高市早苗那天晚上做的，就是吹角。隔天那则贴文，则是告诉大家下次该去哪里听角声。

## 角声响过之后

如果你只是用网站的人，这几天看到常用的服务在维护，不用慌，那多半是经营者照着警报在做事。你能做的，是别在不同网站重复用同一组密码，也小心这段期间打着「网络安全更新」名义寄来的邮件。

如果你有自己的博客或网络商店，问主机商一句话：主机上的 PHP 更新到修补版了吗？修补版是 8.5.12／8.4.27／8.3.36／8.2.35，依你用的分支择一。还在用 PHP 8.1 或更旧版本的，官方已经不提供一般更新，只针对 7.4 到 8.1 发布最小修补。最稳的做法是升级到仍有支持的版本，来不及就先把网站停掉。PHP 官方在公告里写：「没有完整的缓解措施，更新是唯一安全的选择。」

下一次角声响起，未必有首相提前一晚提醒。到时候，你的组织里有没有人知道该修什么，又有没有人敢喊停？

想看更多 AI 怎么改写秩序的讨论：[智能与秩序](/zh-cn/topics/ai/)。
