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 的架設方式下,攻擊可以在網站自己的程式開始執行前就觸發,官方把這種架設方式列為風險最高。網站程式寫得再小心也沒用,問題出在廚房的設備上。

四格漫畫:高市早苗為什麼要大家今晚就處理?一次看懂 PHP2Shell 漏洞,把網站想成一間餐廳。你在網頁上按下按鈕,就像遞出一張點菜單;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 的報告裡有一句話:「保密期能保護防守方,只到別人也找到同一個漏洞為止。」他們建議,碰到這種對外開放的重大漏洞,修補時程要以小時計算。

時間軸:研究人員找到最早受影響的是 2012 年的 PHP 5.4,問題至少存在十四年;2026 年 8 月,研究人員借助 AI 找到漏洞並回報 PHP;10 月 17 日 Amazon 誘捕系統記錄到攻擊嘗試,比公開早四天;10 月 20 日漏洞編號外流;10 月 21 日晚上十點(台灣時間)修補公布;公布後兩小時內,Cloudflare 看到幾十萬次攻擊嘗試。資安的勝負從誰先找到,移到誰先改好。

📊 關鍵數據

  • 受影響版本:研究人員找到最早的是 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 日這一波比較像整個資安族群一起被買上去。(揭露:我持有這家公司的股票。這段只整理市場反應,不構成投資建議。)

長條圖:2026 年 10 月 22 日東京股市收盤,趨勢科技漲 8.69%,FFRI 漲 9.62%,サイバーソリューションズ漲 20.85%。資料:株探。

其他國家也有動作。美國網路安全暨基礎設施安全局(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 怎麼改寫秩序的討論:智能與秩序。