Brightstream Logo
Notes from Johnny Yang

PHP2Shell 深度解析:PHP 漏洞到底有多嚴重?為什麼日本首相深夜發文、全球掀起關站潮

駭客不用密碼、一個請求就可能接管網站主機。全球約七成網站用的 PHP 爆出藏了十幾年的漏洞,日本首相深夜發文、歐洲政府搶著關站、台灣 2.8 萬個網站受波及。同一週 Node.js 發布安全更新、Railway 被入侵、台灣部署平台 Zeabur 兩度被駭後宣布關站。從阿嬤聽得懂的比喻講到工程師要的技術細節。

🐻
Johnny Yang
Founder, Brightstream Technology
2026-10-22
PHP2Shell 深度解析:PHP 漏洞到底有多嚴重?為什麼日本首相深夜發文、全球掀起關站潮

10 月 21 日晚上,日本首相高市早苗在 X 上發了一則很不尋常的貼文:「今晚有一件緊急的事,要請大家立刻行動。」她請全國企業馬上確認自家網站有沒有用 PHP,修補一出來就套用;來不及的話,「暫時關閉網站也是降低風險的有效方法」。(OfficeChai)

接下來兩天,日本的 JR 東日本、JR 西日本(旗下約 60 個網站)、大和證券、すき家、濱壽司、氣象廳、大阪府政府,紛紛暫停部分網站或線上服務。(ETtoday)歐洲那邊,荷蘭鹿特丹港、荷蘭政府入口網站、五大政黨網站和多家醫院主動關站;丹麥的全國學校通訊平台暫停;芬蘭、法國的政府網站進入預防性維護。(中央社)

台灣的數位發展部資安署在收到修補程式後三小時內發出警訊,成立專案小組。(資安署、Yahoo 新聞)

一個程式語言的漏洞,為什麼能讓一國首相半夜發文、讓鐵路公司和銀行先把網站關掉?

我是熊董,台灣川輝科技。這篇是深度解析,但我會盡量寫到「不懂電腦的長輩也看得懂、工程師也看得到細節」。每一段先講白話,技術細節放在「給工程師」的小段落,不想看可以直接跳過。所有數字都附上來源。

先講結論:這次的問題不在任何一家公司的程式寫錯,而是全世界約七成網站共用的「底層語言」PHP 本身有洞,而且藏了十幾年。駭客不需要帳號密碼,對網站送出特製的請求,就可能在主機上執行任何程式、讀到別人的密碼。官方還沒公布,攻擊就已經開始。同一週,Node.js 發布安全更新、雲端平台 Railway 被入侵、台灣的部署平台 Zeabur 兩度被駭後宣布關站、AI 攻擊工具在日本打下數十家企業。這些事情有一個共同點:你的系統再好,只要沒有人在第一時間發現、評估、修補,就是暴露在風險裡。這也是為什麼「系統能動」從來不等於「系統安全」。


一、30 秒看懂:用一間餐廳來比喻

想像一間很大的餐廳:

  • 客人是上網的人,點菜就是在網站上按按鈕、填表單。
  • 服務生是 PHP。客人點什麼,服務生負責去廚房拿、端上桌、收拾。
  • 為了效率,同一個服務生會接連服務很多桌客人。

這次被發現的問題是:

  1. 服務生被塞爆的時候,會在東西還沒擺好時被打斷。 之後收桌子,他把那些「擺到一半、不知道是什麼的東西」當成正常的東西處理。
  2. 服務生收完上一桌,有些東西沒收乾淨。 下一桌坐下來,可能看到上一桌客人的信用卡、鑰匙。

壞人只要假裝成客人,故意點一份「會把服務生塞爆」的怪菜單,就能利用這兩個混亂:偷看別桌的東西,甚至趁亂叫服務生去做壞人指定的事。

而這不是某一間餐廳的服務生有問題——是全世界大約七成的餐廳,都用同一套服務生訓練手冊,而這本手冊從十幾年前就寫錯了。


二、PHP 是什麼?為什麼它出事,影響這麼大?

PHP 是一種寫網站用的程式語言,1990 年代就存在。你在網站上登入會員、把商品加進購物車、看一篇文章,背後常常就是 PHP 在處理。

它有多普遍?

  • 在能辨識使用技術的網站中,69.3% 的後端用 PHP。(W3Techs,經 Tenable 引用)
  • 全世界最多人用的架站工具 WordPress,佔全球網站約 39.6%,底層就是 PHP。(數位時代)
  • Drupal、Joomla、Magento(電商平台)也都是 PHP。

所以這次不是「某一家公司的網站有漏洞」,而是大部分網站共用的地基出了問題。


三、這兩個漏洞到底是什麼?

這次的漏洞編號是 CVE-2026-109618 和 CVE-2026-109619,研究人員把整串攻擊手法叫做 php2shell(意思是:從 PHP 拿到主機的控制權)。

白話版

  • 第一個漏洞(109618):被塞爆時,會把「做到一半的東西」當成正常資料。 網站處理一個請求時,如果記憶體剛好用光,PHP 會在資料還沒準備好時被中斷。之後清理時,它把那些不完整的資料當成正常的處理。駭客可以利用這個混亂,塞進自己的指令。
  • 第二個漏洞(109619):上一個請求的東西沒清乾淨,下一個請求會用到。 一個請求出錯結束後,有些內部紀錄還指向「已經被丟掉的記憶體」。同一個處理程序接著服務下一個請求時,駭客可以讓自己的資料剛好填進那塊記憶體,進而讀到別人的資料,或讓主機執行他的程式。

給工程師

  • CVE-2026-109618:請求超過 memory_limit、在 OOM 處理中被中止時,可能中斷例如 multipart 表單上傳的解析;request shutdown 階段會釋放從未正確初始化、可能仍含攻擊者資料的記憶體。(CERT-EU)
  • CVE-2026-109619:fatal error(特別是 OOM)讓清理被截斷,session 指標、unserializer 的內部紀錄、最後一次 fatal error 的 backtrace 等全域狀態,仍指向已釋放的記憶體;同一個 worker 處理下一個請求時,攻擊者控制的資料可以重新佔用該記憶體,造成記憶體洩漏或破壞,最終達成 RCE。Wiz 另回報一個 OPcache 共享記憶體記帳不同步導致的 type confusion。(Wiz)
  • 兩者 CVSS v4.0 都是 9.2;先前流傳的 10.0 是錯的。(Tenable)
  • 所有對外服務網頁的 PHP 架構都受影響:PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed;PHP 團隊評估 mod_php 風險最高。(CERT-EU)
  • 觸發點在應用程式碼執行之前,連只印出 Hello World 的程式都可能中。Wiz 已在 WordPress、Drupal、Joomla 最新版容器映像上示範免登入 RCE。(Wiz)

四、為什麼說它「這麼嚴重」?五個理由

1. 不用帳號密碼

大部分網站的防線是「先登入才能做事」。這次的攻擊不需要登入、不需要任何權限。

2. 在你的網站程式啟動之前就打進來

你的網站程式寫得再嚴謹、加了再多驗證,這個攻擊發生在那些防線啟動之前。所以光更新網站程式或外掛沒用,一定要更新 PHP 本身。(Cloudflare)

3. 會漏出「別人的」密碼

Wiz 證明,記憶體洩漏可以讓駭客讀到其他請求裡的密碼、登入憑證、API 金鑰、憑證。(Recorded Future)PHP 基金會資安工程師 Volker Dusch 認為,這是 PHP 十多年來最嚴重的資安問題,並把它比作 2014 年讓全世界大換密碼的 Heartbleed 漏洞。(數位時代)

4. 藏了十幾年,舊版本多到修不完

受影響的程式碼路徑最早可追溯到 PHP 5.4(2012 年)。(Tenable)問題是,PHP 8.1 以前的版本官方已經不維護,這次沒有正式修補版;5.4~7.3 連修補都沒有。(Help Net Security)

而全世界還在用舊版的主機非常多:

  • VirusTotal 統計約 510 萬個 IP 在跑 PHP,其中能看出版本的約 110 萬個裡,約 75.8 萬個是已停止維護的版本。(Recorded Future)
  • Censys 掃描 260 萬台主機,約 150 萬台跑的是沒有正式修補版的 PHP。(中央社)
  • 光是 PHP 7.4 這一個舊版,就有約 87.9 萬個服務還在線上。(Recorded Future)

資安專家 Hal Pomeranz 說:「這件事會拖很久。」(Help Net Security)

5. AI 讓攻擊變便宜

這次的漏洞是資安公司借助 AI 找到的。Wiz 說,以前要一個團隊花好幾個月的研究,這次一個研究員加上 AI,大約一週完成。(Wiz)但同一件事反過來也成立:發現者 Calif 的執行長 Thai Duong 警告,任何人都可以用 AI 分析修補程式,反推出攻擊腳本。(數位時代)

修補一公布,等於把「門鎖哪裡壞了」告訴全世界。修得慢的人,就是在跟用 AI 的駭客賽跑。


五、時間線:駭客比大多數人更早知道

時間發生什麼事
2024 年一次外部資安稽核就發現相關問題,但當時沒找到實際攻擊方法(數位時代)
2026/8/1Calif 借助大型語言模型發現漏洞(中央社)
8/19~8/21Wiz 確認可在 Drupal、WordPress 免登入遠端執行(Wiz)
8/24Wiz 私下通報 PHP 團隊
9/21PHP 確認並開始修補
10/16美國白宮表示已得知漏洞(中央社)
10/17Amazon 誘捕系統偵測到攻擊嘗試,比官方公布早四天(Tenable)
10/20PHP 預告隔天緊急發布;漏洞編號提前外流,發布日從 22 日提前到 21 日
10/21 上午(台灣)含漏洞資訊的檔案出現在 VirusTotal;Cloudflare 啟用防護規則;Patchstack 回報修補發布前就有實際攻擊事件(Recorded Future、Cloudflare)
10/21 晚間(台灣)PHP 釋出修補版 8.5.12、8.4.27、8.3.36、8.2.35(CERT-EU);日本首相發文
10/22日本、歐洲大量網站暫停;Amazon 表示漏洞「已在真實環境中被廣泛利用」(中央社)

一句話:官方還沒發布修補,攻擊就已經開始了。


六、影響範圍:誰受到波及?

日本:首相親自喊話

  • 首相高市早苗 10/21 晚間發文,呼籲企業「今晚」行動,來不及修補就先關站。
  • 鐵路:JR 東日本暫停 JRE MALL、JRE POINT;JR 西日本緊急維護,旗下約 60 個網站無法瀏覽;阪急、阪神、南海、京阪、大阪 Metro 暫停網站,部分列車資訊查不到。
  • 金融:大和證券暫停 NISA 開戶等線上服務;日本郵政銀行、三菱 UFJ 銀行暫停部分線上服務(兩家未公開說明與此漏洞的關聯)。
  • 餐飲與其他:すき家、濱壽司(連店內點餐觸控面板都停用)、東京海上日動、Niconico、LIXIL。
  • 政府:氣象廳凌晨三點半起緊急維護;大阪府政府網站緊急維護,表示是預防措施、尚未發現入侵;東京警視廳召開網路恐怖主義對策緊急會議。

(以上皆出自 ETtoday)

歐洲:政府主動關站

  • 荷蘭:鹿特丹港、政府入口網站 Overheid.nl、荷蘭足球協會、五大政黨網站、多家醫院。
  • 丹麥:市政 IT 公司 Kombit 關閉多項服務,包括全國學校通訊平台。
  • 芬蘭:國家 IT 服務機構 Valtori 預防性關閉政府公共網路服務。
  • 法國:內政部旗下所有網站進入預防性維護。(中央社)
  • 英國:預算責任辦公室網站暫時下線(新華網);英國國家網路安全中心建議,無法立即修補的系統考慮先下線(Help Net Security)。歐盟資安單位 CERT-EU 建議,修補完成前先把對外系統與公開網路隔離(CERT-EU)。

台灣

  • 約 2 萬 8 千個對外網站使用 PHP,其中政府機關約 200 個(實際受影響會比較少,因為不是每個版本都中)。
  • 資安署的處理順序:先更新 → 不能更新就在前面加網頁防火牆(WAF)擋 → 兩個都不行才建議暫時下架。修補有困難可向台灣電腦網路危機處理暨協調中心(TWCERT/CC)求助。(Yahoo 新聞)
  • 資安署也提醒:有些軟體沒有明說,但內部其實是用 PHP 在跑。(數位時代)

連「擋駭客的設備」和雲端大廠都受影響

  • 資安大廠 Palo Alto Networks 表示,旗下防火牆作業系統 PAN-OS 與 Panorama 所有版本都受影響,10/22 時還沒有修補版。Fortinet、Cisco 分別在清查 12 項、31 項產品。(Help Net Security)
  • Amazon 雲端(AWS)說明:Amazon WorkMail 已幫客戶升級;但 Lightsail 已在跑的主機,AWS 沒辦法幫你原地更新,要客戶自己用新映像搬過去;Lambda 用自訂環境跑 PHP 的,也要客戶自己升級。(AWS)

最後這點很重要:就算你用的是全世界最大的雲端,有些事還是得有人自己動手。

一般民眾會受影響嗎?

  • 你的手機、電腦不需要安裝任何修補,這是網站主機端的問題。
  • 網站暫時關閉,多半是經營者在預防性檢查,不代表已經被駭。
  • 如果常用的網站突然出現奇怪的下載、轉址,或要求你重新輸入密碼,提高警覺。(數位時代)
  • 如果之後收到某個網站通知「資料可能外洩」,就把那個網站的密碼換掉,用同一組密碼的其他網站也一起換。

七、不只 PHP:同一週的另外四件事

Node.js:同一天也發布安全更新

Node.js 是另一種很普遍的網站技術,很多新一代的系統、App 後台都用它。10 月 21 日,Node.js 一次修補 10 個漏洞。(Astra)

  • 最嚴重的 CVE-2026-111497:處理「Brotli 壓縮資料」的功能有越界寫入問題,駭客傳一段特製的壓縮資料,就可能讓主機執行他的程式。網站收到的請求、呼叫別的服務拿回的回應、即時連線的訊息,都可能是攻擊入口。
  • 另外三個高風險漏洞都跟「確認對方身分」有關:在特定寫法下,TLS 憑證檢查可能被騙過,或 DNS 查詢會把主機名稱截斷,讓原本的防護規則失效。
  • 修補版本:26.12.1、24.22.1、22.23.4。Node.js 20 以前的版本已停止支援,這次不會修補,只能升級。

給工程師:除了升級版本,容器映像要從新的 node:* 標籤重建再部署;用 SEA 打包的執行檔要用新版重打,並重新產生舊版產出的密鑰;用 serverless 平台的,要確認平台已經套用修補。(Astra)

Railway:放程式的平台本身被入侵

很多新創、接案者、用 AI 快速做系統的人,會把網站放在 Railway 這類「一鍵部署」的雲端平台上。10 月 21 日,Railway 偵測到存放客戶「環境變數」的系統出現異常,部分內容可能已被解密。(The CyberSec Guru)

「環境變數」是什麼?你可以想成寄放在大樓管理室的備用鑰匙:資料庫密碼、金流金鑰、AI 服務的金鑰,通常都放這裡。

Railway 暫停了全平台的部署,作廢所有 Railway 的登入憑證,並公告客戶要自己去換掉所有金鑰。(The CyberSec Guru)麻煩的是:換金鑰通常要重新部署,但平台暫停部署了——換了,網站可能直接壞掉;不換,鑰匙可能在別人手上。 有開發者分析,被偷的 AI 服務金鑰在黑市很搶手,會被拿去大量使用。(BigGo,此為該開發者個人推論)

這件事的重點是:客戶的程式完全沒有寫錯,是放程式的平台出事了。

Zeabur:台灣的雲端部署平台,兩次被駭後宣布關站

Zeabur 是台灣團隊做的「一鍵部署」平台,很多人用 AI 寫完程式,就直接放上去跑。

  • 8 月 27 日第一次被入侵;10 月 14~15 日再次被入侵。
  • 第二次,攻擊者讀取了約 321 萬筆環境變數(就是前面說的「備用鑰匙」,名稱和內容都有)、約 32 萬個帳號的資料,並用最高權限登入了 92 位用戶的 101 台專屬伺服器。
  • 原因:管理員用的憑證長期沒換、以明文保存,部分管理介面直接暴露在網路上。
  • 10 月 17 日,Zeabur 宣布結束營運:12 月 1 日起陸續關閉服務,12 月 31 日前全部關閉,請用戶備份資料、搬家,並換掉所有密碼與金鑰。

(Cybernews、iThome)

這件事說明了另一個風險:放程式的平台本身可能會倒。 系統搬家、換金鑰、確認搬過去還正常,全都需要有人做。完整經過我們另外寫了一篇:Zeabur 倒了怎麼辦?台灣部署平台關站深度解析。

ARTEX:AI 攻擊工具,日本數十家企業受害

ARTEX 原本是一套用 AI 做資安測試的工具,開發者的本意是幫企業找漏洞,但它被駭客拿去濫用。日本這個月有數十家企業被入侵或資料外洩,包括連鎖餐飲和租車公司,可能波及數百萬名客戶;日本 GMO 集團確認攻擊者用了 ARTEX。南韓也有金融機構遭駭被指與它有關。(科技新報)


八、AI 是雙面刃

把這週的事放在一起看:

  • AI 幫好人找到漏洞:php2shell 是 Calif、Wiz 借助 AI 找到的。
  • AI 也幫壞人加速:任何人都能用 AI 分析修補程式、反推攻擊;ARTEX 讓自動化攻擊變成現成工具。
  • AI 讓很多人能自己寫系統(vibe coding):資安公司 RedAccess 掃描了 38 萬個用 Lovable、Base44、Replit 等 AI 工具做出來、再部署上網的應用和資料庫,發現約 5,000 個把公司內部資料直接露在網路上,包括船期、臨床試驗名單、客服對話、銀行內部財務資料。(VentureBeat)

這些系統都「能動」。只是沒有人在顧。


九、為什麼「網站能動」不等於「網站安全」?

這週的事件問題出在哪一層是程式寫錯嗎?
PHP 漏洞程式語言本身不是
Node.js 漏洞執行環境本身不是
Railway 入侵部署平台不是
Zeabur 被駭、關站部署平台不是
ARTEX 攻擊駭客用 AI 大量掃描不是

沒有一件是「你的程式寫錯」。

一套系統上線之後,至少有四層要顧:

  1. 程式層:程式本身寫得對不對、有沒有明顯漏洞。這是大部分人唯一會想到的一層。
  2. 語言與套件層:PHP、Node.js 和系統用到的幾十、幾百個套件,有沒有出安全更新。
  3. 部署層:主機、雲端平台、資料庫放在哪裡;密碼和金鑰怎麼保管;平台出事時怎麼換。
  4. 維運層:誰在看資安公告?出事時誰半夜處理?升級之後誰確認系統還正常?

用 AI 寫程式,或請人做完就交件的接案方式,通常只顧到第一層。這次出事的,全部在第二到第四層。


十、為什麼很多網站會「一直修不好」?

如果修補這麼重要,為什麼專家說會「拖很久」?因為實際上,修補遠比「按一個更新鍵」複雜:

  • 版本太舊,升級會壞。 還在跑 PHP 7.4、8.0 的系統,直接升到 8.3、8.4,舊程式可能跑不動,要先改程式、測試,才能升。
  • 主機商的更新來源不一定跟得上。 例如很多主機依賴的套件庫 remirepo,發布當天沒有更新,用它的人得換來源或自己編譯。(CERT-EU)
  • 雲端也不會全部幫你做。 AWS 都說了,已經在跑的 Lightsail 主機沒辦法幫你原地更新。(AWS)
  • 換金鑰會牽一髮動全身。 Railway 事件裡,換金鑰要重新部署,平台卻暫停部署。
  • 修好不代表沒事。 攻擊從 10/17 就開始了,修補後還要回頭查紀錄,確認修補前有沒有人進來過;如果有,所有可能外洩的密碼都要換。(Tenable、Recorded Future)
  • 沒人知道自己有沒有用 PHP。 很多公司的官網是幾年前請人架的,架完就沒人碰;有些軟體內部用 PHP 卻沒明說。

十一、川輝這次怎麼處理?

講一下我們自己這一週做了什麼,讓你知道「有人在顧」實際上長什麼樣子:

  • PHP:川輝大部分的系統不是用 PHP 開發,不受影響。少數使用 PHP 的網站,官方 10/21 晚上釋出修補後,我們當晚就把所有 PHP 版本升級,加上官方建議的臨時防護設定,再一個網站、一個網站確認運作正常。
  • Node.js:還在跑 Node.js 20(已停止支援)的服務,全部升級到最新的安全版本 22.23.4,升級前後都做測試,上線後零錯誤。
  • 其他平台通報:Railway、Zeabur 這類雲端平台發出資安通知時,我們的做法是逐一盤點有沒有服務放在上面,有的話就把所有密碼、金鑰換新,再檢查有沒有異常用量。
  • 客戶那邊:什麼都不用做。

我們沒辦法保證任何系統「百分之百不會被攻擊」——沒有人能保證,說得出口的人反而要小心。我們能做到的是:有工程團隊每天在看 PHP、Node.js、各雲端平台與政府資安單位的公告,出事的時候在第一時間評估影響、修補、驗證,然後主動告訴客戶發生了什麼事。


十二、系統的價值,有一半在上線之後

很多老闆在找系統廠商時,比的是「誰做得出來」「誰比較便宜」。這很合理,但這次的事件提醒我們:

一套系統能動,只是開始。它在上線之後的三年、五年,能不能一直安全、一直跟得上,才是你真正付錢買的東西。

就像買車:會開,不代表不用保養。輪胎會磨、機油要換、原廠會召回。你需要的是一個知道什麼時候該保養、召回通知來了會幫你處理的人。

這也是為什麼川輝的每一個專案都有維護,很多客戶跟我們合作了好幾年。不是因為系統常壞,而是當這種全世界一起出事的時候,他們不用自己去研究「我中了沒」——有人已經處理好了。


十三、你現在可以做的事

給老闆(不用懂技術)

  1. 問清楚你的系統用什麼做的。 官網、後台、App,各自是 PHP、WordPress、Node.js 還是別的?放在哪裡?
  2. 問你的廠商或工程師:「這次 PHP/Node.js 的更新,處理了嗎?升到哪一版?」 如果對方回答不出來,或要你自己去查,這就是警訊。
  3. 確認密碼和金鑰放在哪。 系統如果放在 Railway 這類被通報的平台上,要確認所有金鑰都換過了。
  4. 系統放在 Zeabur 上的,12 月 31 日前一定要搬家,搬完把所有密碼、金鑰換新。

給工程師

  1. 升級到 PHP 8.5.12、8.4.27、8.3.36、8.2.35 或之後;用發行版套件的,看發行版或 LTS 廠商的公告。8.1 以前請升到仍支援的版本。(Tenable)
  2. 升級後重啟所有 PHP worker。
  3. 暫時無法升級時的緩解(不是修補):針對 109618,以應用程式無法覆寫的方式設 memory_limit=-1;針對 109619,設 session.upload_progress.enabled=0,PHP 8.5 另設 fatal_error_backtraces=0;考慮用容器或 cgroup 限制記憶體;前面掛 WAF。(Tenable、Cloudflare)
  4. 從 10/17 開始回查紀錄:異常的 multipart 請求後接記憶體上限錯誤、連續的 HTTP 500、異常巨大或格式錯誤的 PHPSESSID cookie、原因不明的 worker 重啟。應用程式紀錄可能看不到,因為攻擊發生在應用層以下,要一起看網頁伺服器與主機端紀錄。(Wiz、Recorded Future)
  5. 發現入侵跡象:啟動事件應變,換掉所有可能外洩的密碼、金鑰、憑證;同一台主機若有開 SSH、MySQL、RDP,要一併檢查橫向移動。(Recorded Future)
  6. Node.js 升到 26.12.1、24.22.1、22.23.4,重建容器映像再部署。

需要掃描、升級或重構?可以找我們

不管你的網站或系統是不是川輝做的,都可以找我們協助:

  • 掃描:幫你確認系統用了哪些技術、版本多舊、這次有沒有中、密碼金鑰放在哪裡安不安全。
  • 緊急升級:把 PHP、Node.js 等升到官方修補版本,升級前後測試,確認系統照常運作。
  • 搬家:系統放在 Zeabur 這類要關閉、或出過資安事件的平台上,幫你搬到穩定的環境,並換掉所有密碼與金鑰。
  • 重構:版本太舊升不上去(例如 PHP 8.1 以前、Node.js 20 以前),或原本的廠商已經不維護、程式沒人看得懂,我們評估哪些能留、哪些要重做,再分段處理,不讓營運中斷。

如果你不確定從哪裡開始,先預約 30 分鐘免費診斷,我們幫你看。


常見問題

這次 PHP 漏洞是什麼?

PHP 是全球約七成網站使用的程式語言。2026 年 10 月 21 日,PHP 官方公布兩個重大漏洞(CVE-2026-109618、CVE-2026-109619,俗稱 php2shell),嚴重程度 9.2 分(滿分 10 分)。駭客不需要登入,對網站送出特製的請求,就可能在主機上執行程式、讀取其他使用者的密碼與金鑰,或讓網站癱瘓。受影響的程式碼可追溯到 2012 年的 PHP 5.4。

我的網站會受影響嗎?

如果網站或系統使用 PHP(包括 WordPress、Drupal、Joomla、Magento 等自架網站),而且還沒升級到 8.5.12、8.4.27、8.3.36、8.2.35 或之後的版本,就有風險。PHP 8.1 以前的版本官方已不再維護,必須升級。不是用 PHP 開發的系統,不受這次漏洞影響。

一般民眾需要做什麼嗎?

個人手機和電腦不需要安裝修補,這是網站主機端的問題。網站暫時關閉多半是預防性檢查,不代表被駭。如果收到網站通知資料可能外洩,就更換該網站以及使用相同密碼的其他網站密碼。

用 WordPress 架的官網要怎麼辦?

WordPress 本身不是問題,問題在它底下的 PHP 版本。請聯絡架站或管理主機的廠商,確認 PHP 已升級,並在升級後重啟服務。使用 WordPress.com 官方代管的用戶,營運商 Automattic 表示不受影響。

為什麼日本首相要親自發文?

因為影響範圍太大、攻擊在官方公布前就已開始,而修補發布的時間在日本深夜。首相直接呼籲企業當晚就處理,來不及就先暫時關站。隔天 JR、銀行、餐飲連鎖與政府機關的網站陸續預防性暫停。

這次 Node.js 的更新跟 PHP 有關嗎?

沒有直接關係,只是剛好同一天發布。Node.js 10 月 21 日修補了 10 個漏洞,最嚴重的可能讓駭客遠端執行程式。修補版本是 22.23.4、24.22.1、26.12.1;Node.js 20 以前的版本已停止支援,必須升級。

修補完就安全了嗎?

修補是唯一完整的解法,但不代表沒事。攻擊在 10 月 17 日就開始了,修補後還要回頭檢查紀錄,確認修補前有沒有被入侵;新的漏洞也還會出現。所以更重要的是有人持續關注資安公告、定期升級。

不是川輝做的系統,也可以請你們檢查或升級嗎?

可以。我們可以協助掃描現有網站與系統的技術版本與風險、緊急升級到修補版本;如果版本太舊或原廠商已不維護,也可以評估重構。可以先預約 30 分鐘免費診斷。

用 AI 自己寫的系統(vibe coding)安全嗎?

AI 可以寫出能動的程式,但系統安全不只看程式本身,還包括使用的語言與套件、部署的平台、密碼金鑰的保管,以及上線後有沒有人持續維護。這次事件的問題都不在程式寫錯,而是在這些「程式以外」的層面。


資料來源

官方與政府

發現者與資安業者

新聞

Found this useful? Pass it on
Prices published · free range estimate

What is that system actually costing you a year?

Lay the maintenance contract or the invoices out and count once: what is real cost, what can be cut, whether it is worth touching at all. If the answer is leave it alone, we will tell you to leave it alone.

NT$20,000/month · no headcount surcharge up to 200 people · same-scope changes at no extra cost · or just book a free 30-minute diagnostic

🐻
Johnny Yang
Founder, Brightstream Technology
About Johnny Yang

Keep reading