PHP2Shell 是什麼?PHP 重大漏洞白話拆解與 WordPress 當天修補實錄

恆遠數位編輯團隊約 10 分鐘閱讀
PHP2Shell 漏洞當天修補實錄文章封面:漏洞嚴重度 9.2、修補版本 8.3.36、每站停機不到 1 分鐘
複製引文

PHP2Shell 是 2026 年 10 月 21 日公開的兩個 PHP 重大漏洞(CVE-2026-109618、CVE-2026-109619)的統稱,攻擊者不用登入就可能在網站主機上執行任意程式,嚴重度 9.2 分(滿分 10)。只要你的網站是用 PHP 寫的,包含 WordPress、Laravel、Drupal、Joomla,都在影響範圍內,解法是把 PHP 升級到 8.5.12、8.4.27、8.3.36 或 8.2.35。

我們看到公告的當天,就把自家與代管的 WordPress 網站、部署管理平台全部盤點一輪:先查有沒有被入侵,再升級 PHP,升級後逐站回測,每個站的停機時間都在一分鐘以內,回測也沒有發現異常存取。這篇把漏洞用白話講清楚,也把我們實際的處理順序與踩到的坑整理出來,給同樣在管 WordPress 網站的你照著做。

⚠️有 WordPress 或 PHP 網站?先確認這一件事

到主機後台或請工程師查 PHP 版本,低於 8.5.12、8.4.27、8.3.36、8.2.35 的(同一條版本線比對,例如 8.3 系列要 8.3.36 以上)就要升級。用虛擬主機的,主機商通常會統一更新,但請直接問清楚「哪一天升到哪一版」。PHP 7.4 到 8.1 已經沒有官方正式更新,要盡快換到 8.2 以上。

PHP2Shell 懶人包:發生什麼事、誰會受影響

一句話:PHP 這個全球最多網站在用的程式語言,被找到兩個能讓攻擊者遠端接管主機的漏洞,細節提前外流,官方只好提前一天緊急發布修補。下面這張表整理自 PHP 官方公告、Tenable 與 Patchstack 的資料。

項目

內容

漏洞名稱

PHP2Shell,包含兩個漏洞(CVE-2026-109618、CVE-2026-109619)

嚴重度

CVSS v4.0 9.2 分,兩個都是

會發生什麼

攻擊者不用登入,就可能在網站主機上執行任意程式

影響誰

所有用 PHP 提供網頁服務的網站,不分主機類型

修補版本

8.5.12、8.4.27、8.3.36、8.2.35(10 月 21 日發布)

舊版本

PHP 7.4 到 8.1 只有程式碼層級的修補,沒有正式發新版;5.4 到 7.3 已停止支援

攻擊狀況

Amazon 在 10 月 17 日就觀察到攻擊嘗試,watchTowr、Cloudflare 也回報看到攻擊

時間軸也值得看一下:

日期

發生什麼事

10 月 17 日

Amazon 的威脅情報團隊觀察到第一次攻擊嘗試,比公開日早四天

10 月 20 日

漏洞編號在 Hacker News 與社群上流傳,PHP 官方發出預告

10 月 21 日

原訂 22 日公開,因為外流提前一天,PHP 官方發布四個修補版本

10 月 21 日之後

多家資安公司回報看到實際攻擊嘗試,各國資安單位發布警告

英國國家網路安全中心(NCSC)的 公告 講得很直接:任何版本的 PHP 都受影響,所有組織都應該盡快升級;如果一時升不了,要考慮先把系統下線。

PHP 是什麼?為什麼一個漏洞能影響這麼多網站

PHP 是一種專門用來做網站的程式語言。你打開一個 WordPress 網站時,伺服器上的 PHP 會即時把文章、選單、表單「組裝」成網頁再送給你。用餐廳比喻,PHP 就是廚房裡的廚師,WordPress 是食譜,資料庫是食材倉庫。

PHP 有多普及?W3Techs 的統計 顯示,在已知伺服器端語言的網站裡,大約七成用的是 PHP。全球最多人用的網站系統 WordPress 就是 PHP 寫的,台灣大量的企業形象網站、電商網站、補習班與診所網站也都建在上面。

這次的漏洞出在 PHP 本身,也就是「廚師」出了問題,跟你用什麼「食譜」無關。所以不管你的 WordPress 外掛有沒有更新、佈景主題多新,只要底層的 PHP 版本沒修補,就一樣在風險裡。這也是為什麼這次的影響範圍特別大。

你的網站

有沒有影響

誰要負責升級

WordPress(虛擬主機)

有

主機商,通常會統一更新,但要確認時間

WordPress(自己的雲端主機或 VPS)

有

你或你的工程師

WordPress(容器部署)

有

你或你的工程師(下面會講到一個常見的坑)

Laravel、Drupal、Joomla 等 PHP 系統

有

開發廠商或你的工程師

Wix、Shopify 等 SaaS 網站

由平台處理

平台方,你不用動

Next.js、Node.js、Python 寫的網站

這次不影響

不用動,但部署平台本身可能有 PHP 元件

兩個漏洞白話拆解:記憶體出錯,就可能被接管

一句話:兩個漏洞都跟 PHP 處理記憶體的方式有關,攻擊者可以故意讓 PHP 出錯,再趁亂讓它執行自己準備好的程式。下面的白話說明參考 Tenable 的整理。

第一個漏洞

第二個漏洞

發生什麼事

PHP 在記憶體不夠用時,收拾善後的動作出錯

上一個請求留下的資料,被下一個請求誤用

生活比喻

廚師備料備到一半食材用完,收拾時卻把半成品當成完成品上桌

上一桌客人用過的盤子還沒洗,下一桌就直接拿來裝菜

嚴重度

9.2

9.2

這類漏洞的麻煩在於,攻擊成功時不一定會留下明顯的痕跡。所以除了升級,升級前先查有沒有被入侵同樣重要,這也是各國資安單位一致的建議。

我們的處理實錄:看到公告當天就完成盤點、回測與升級

一句話:先盤點、再查入侵、最後升級並回測,順序不能反。直接升級雖然快,但如果主機在升級前已經被動過手腳,升級只是把門關上,屋裡的人還在。

我們的處理分成五步:

步驟

做了什麼

結果

盤點

列出所有用到 PHP 的網站與系統,包含測試站和暫停中的舊站

確認要處理的範圍

確認版本

逐一確認每個網站實際使用的 PHP 版本

找出需要升級的對象

入侵排查

檢查網站檔案有沒有被竄改、有沒有被放後門、近期的存取紀錄有沒有異常

沒有發現入侵跡象

升級

先升測試站確認沒問題,再依序升級正式站與管理平台

全部升到修補版本,每個站停機不到一分鐘

回測

逐站確認網站、後台與表單都正常運作

全部正常

另外有兩個細節值得一提。第一,升級順序是測試站先、正式站後,測試站驗證過新版本沒有相容問題,才動客戶正在用的網站。第二,暫停中、沒有對外的舊站也列進盤點,其中一個已經閒置的舊站,我們順手把它完整暫停,少一個被攻擊的入口;另外兩個暫停中的站則註記「重新啟用前要先換新版本」。

這套「盤點、排查、升級、回測」的順序,跟我們處理其他平台資安事件時的做法是一致的。像前陣子 Railway 環境變數外洩事件,同樣是先確認影響範圍、再處理秘密、最後驗證。

升級前先查有沒有被入侵:我們做的回測

一句話:拿官方的標準版本來比對,再翻紀錄找異常。這些檢查不需要昂貴的資安工具,有經驗的工程師一兩個小時就能做完。

檢查什麼

為什麼要查

我們的結果

網站核心檔案有沒有被改過

攻擊者常改核心檔案藏後門

和官方版本逐一比對,全部一致

有沒有被放後門程式

後門能讓攻擊者之後隨時回來

沒有發現

最近有沒有多出不明檔案

新出現的檔案是入侵最直接的線索

只有正常的外掛更新

上傳資料夾有沒有可執行的程式

上傳區最常被拿來放惡意程式

沒有發現

近期的存取紀錄

看有沒有人成功利用漏洞

可疑的探測都被擋下,沒有成功存取

翻紀錄時會看到不少讓人緊張的東西,例如有人一直嘗試猜後台密碼、有機器人在找不小心留在網站上的設定檔。這其實是網路上的日常,判斷的關鍵是「有沒有成功」:被擋下、找不到檔案,就代表對方沒拿到東西。

如果你的網站真的有被入侵的跡象,止血步驟可以參考 WordPress 網站被駭怎麼辦。

最容易踩的坑:以為更新了,其實還是舊版

一句話:「升級完成」要看實際版本,不能只看有沒有按下更新。這是這次最想提醒大家的一點。

不少網站是用「打包好的環境」部署的,重新部署時會去下載一份新的環境。很多人以為重新部署就會拿到最新、修補過的版本,但如果當初指定的是一個已經不再更新的舊版本,重新部署拿到的還是舊的。這次我們就遇到這種情況,官方的修補放在新的版本名稱底下,舊名稱已經好幾個月沒更新了。

你以為

實際上

怎麼確認

重新部署就會拿到最新版

如果指定的版本已經停止更新,拿到的還是舊版

部署後實際確認版本號

主機商說「已更新」就沒問題

要問清楚更新到哪一版

請對方提供實際的版本號與日期

升級會把網站內容蓋掉

網站內容和執行環境是分開的,升級環境不會動到內容

升級前先備份,升級後檢查網站與後台

管理平台也一樣。很多團隊會用一套管理面板來管理底下所有網站,面板本身也可能用到 PHP。管理面板權限最大,更新時一樣要先備份、再照官方程序升級,並確認它沒有對外開放。

你的 WordPress 網站該怎麼做:照情況選路

一句話:先確認誰管你的 PHP,再確認版本,最後確認有沒有被入侵。下面這張流程圖照你的主機類型走就好。

圖表載入中…

你的情況

今天要做的事

要注意的地方

用虛擬主機、不太懂技術

寫信問主機商:PHP 升到哪一版、哪一天升的

對方只回「我們很重視資安」不算答案,要問到版本號

有合作的網站廠商

請廠商回報每個站的 PHP 版本與升級時間

順便確認測試站、舊站有沒有一起處理

自己有工程師

照本文的回測做完再升級

升級後一定要確認實際版本號

用 PHP 7.4 以下的舊網站

優先處理,必要時先下線

舊版沒有正式更新,可能要一併升級 WordPress 與外掛

如果你的網站已經多年沒人維護、連 PHP 版本都查不到,這次是很好的時機重新評估:是要找人接手維護,還是乾脆改版。WordPress 和客製化系統怎麼選,可以參考 WordPress 還是客製化系統的判斷指南。

平常就要準備好的三件事:讓下一次漏洞來時不慌

一句話:這次能在一天內處理完,靠的是平常就有的三樣東西:服務清單、可重複的升級程序、留得住的紀錄。

準備什麼

為什麼重要

怎麼開始

服務清單

漏洞公告出來時,第一個問題永遠是「我們有哪些東西受影響」,沒有清單就要一台一台翻

列出每個網站與系統:用什麼語言、放在哪、誰負責、目前版本

可重複的升級程序

有測試站、有備份、有回滾方式,升級才敢當天做,不用拖到週末

每個網站都準備測試環境,升級前先在測試站跑一次

留得住的紀錄

要判斷有沒有被入侵,靠的是存取與錯誤紀錄,紀錄只留幾小時就查不了

確認紀錄至少保留 7 到 30 天,重要系統送到集中的紀錄服務

這三件事其實就是維運合約該寫清楚的內容。你的網站廠商有沒有承諾「重大漏洞公告後幾天內完成修補」?有沒有定期回報版本?這些可以參考 維護合約範本裡 SLA 的寫法。系統上線後的維運成本怎麼估,客製化系統上線後的隱性成本 那篇也有整理。

想更有系統地檢查網站的資安狀況,弱點掃描、滲透測試、壓力測試各有用途,可以看 三種資安檢測的差別。平常的服務監控與異常通知,則可以參考 SLA 監控儀表板採購指南。資料備份是所有應變的最後一道保險,資料備份與災難復原指南 有完整的 3-2-1 做法。

看到這裡,如果你也在想「我們公司的網站,有人在顧 PHP 版本嗎?」,我們很樂意 聽你聊聊現在網站的狀況,一起看看哪些該先處理。如果是自家的客製化系統,也可以聊聊 系統的維運規劃。

ℹ️我們怎麼看

PHP 不會因為這次漏洞就退場,七成網站的基礎建設不會一夕換掉,但漏洞從公開到被大量利用的時間只會越來越短,這次甚至在公開前四天就有人在試。3 年內,「漏洞公告後幾小時內知道自己有沒有受影響」會變成網站維運的基本要求。我們的取捨是:每個服務都有清單、都有測試環境、升級後一定驗證版本號,讓修補可以當天做完。給老闆的判斷工具很簡單:問你的網站負責人「我們的 PHP 現在是哪一版?上次升級是哪一天?」答得出來,代表有人在顧;答不出來,就是該補上的時候。類似的自動化攻擊手法,可以參考 神腦資安事件拆解。

ℹ️我們做過這件事

這篇的處理順序,就是我們這次實際處理自家與代管網站的做法:當天盤點、排查、升級、回測,每站停機不到一分鐘。我們累積了 40+ 企業客製案落地,網站與系統交付後的版本更新與資安修補,也是我們維運的日常。看到這裡,如果你也在想「我們的網站這次有沒有處理到」,我們很樂意 聽你聊聊現在的實際情況,一起看看從哪一塊開始最划算。

QPHP2Shell 是什麼?

PHP2Shell 是 2026 年 10 月 21 日公開的兩個 PHP 重大漏洞(CVE-2026-109618、CVE-2026-109619)的統稱,嚴重度 9.2 分。攻擊者不用登入,就可能利用 PHP 處理記憶體的錯誤,在網站主機上執行任意程式。WordPress、Laravel、Drupal 等 PHP 網站都在影響範圍內。

Q我的 WordPress 網站要怎麼知道有沒有受影響?

查網站使用的 PHP 版本。低於 8.5.12、8.4.27、8.3.36、8.2.35(依同一條版本線比對)就要升級。可以在 WordPress 後台的「工具 → 網站狀態 → 資訊 → 伺服器」看到 PHP 版本,或請主機商、工程師確認。

QPHP 要升級到哪一版?

照你目前使用的版本線升到修補版:8.5 系列升到 8.5.12、8.4 系列升到 8.4.27、8.3 系列升到 8.3.36、8.2 系列升到 8.2.35。PHP 7.4 到 8.1 沒有官方正式更新,建議直接升到 8.2 以上,升級前先在測試站確認外掛相容。

Q升級 PHP 會不會讓網站壞掉?

同一系列內的小版本升級通常不會影響相容性,我們這次升級的網站都沒有出現錯誤,每站停機不到一分鐘。如果是從很舊的版本跨大版本升級,就要先在測試站跑過,因為舊外掛可能不支援。

Q重新部署網站,就會自動升級 PHP 嗎?

不一定。如果部署時指定的是一個已經不再更新的舊版本,重新部署拿到的還是舊版。升級後一定要確認實際的版本號,不要只看部署有沒有成功。

Q怎麼知道網站有沒有已經被入侵?

請工程師確認幾件事:網站核心檔案有沒有被改過、有沒有被放後門、最近有沒有多出不明檔案、上傳資料夾有沒有可執行的程式,以及近期的存取紀錄有沒有成功的異常存取。發現異常就照被駭止血流程處理,並換掉所有密碼。

分享文章
恆

AUTHOR

恆遠數位編輯團隊

查看作者頁

留言(0)

尚無留言,成為第一個留言的人吧!

需要網站系統架設或軟體開發?

無論是品牌官網、客製化系統還是應用程式,我們的團隊擁有豐富經驗,歡迎聯繫我們,讓專業為您的事業加分。