網站技術教學專區
網域、主機、網站設計與 SEO 架構解析
PHP2Shell 漏洞是什麼?共用主機網站主該做的檢查|5NET
2026 年 10 月 20 日,PHP 核心兩個嚴重漏洞的細節在修補程式還沒釋出前就外洩到網路上,研究人員稱它為 PHP2Shell。隔天台灣時間晚間,PHP 官方提前釋出緊急更新;在等待修補的那幾個小時裡,好幾個國家的政府機關選擇直接把網站關掉避風頭。
PHP 是 WordPress、Joomla、Drupal 和大多數台灣中小企業網站背後的程式語言,所以這件事和你的網站很可能有關。這篇整理三件事:這個漏洞到底是什麼、為什麼這次特別嚴重,以及用共用主機的網站主,現在該確認哪些事、哪些事做了其實沒用。
(本文寫於 2026 年 10 月 22 日,事件仍在發展中,攻擊狀況等細節以官方最新公告為準。)
PHP2Shell 是什麼?
PHP2Shell 指的是 PHP 核心直譯器裡的兩個漏洞,編號 CVE-2026-109618 與 CVE-2026-109619,PHP 官方評分都是 9.2(滿分 10),屬於「嚴重」等級。
白話說,它們讓攻擊者不需要任何帳號密碼,只要對網站送出特製的請求,就有機會在伺服器上執行自己的程式。能執行程式,就能讀取資料庫、植入後門、竄改網頁,或拿這台主機去攻擊別人。名稱裡的「Shell」指的就是取得伺服器的操作權。
受影響的範圍非常廣。研究團隊表示,過去十年左右釋出的 PHP 版本,幾乎都至少受其中一個漏洞影響。官方點名風險最高的是 Apache 搭配 mod_php 的環境,PHP-FPM、php-cgi、LiteSpeed 等其他執行方式也都在影響範圍內。

問題出在 PHP 本身,不是你的網站程式
這是這次最需要理解的一點。一般常聽到的網站漏洞,多半出在 WordPress 的某個外掛、某個佈景主題,或網站自己寫的程式,更新那個外掛就解決了。
PHP2Shell 不一樣,它出在更底下一層:負責執行所有 PHP 程式的直譯器本身。你的網站程式寫得再好、外掛再少,只要底下的 PHP 還沒修補,就一樣暴露在風險裡。反過來說,更新 WordPress 或外掛也修不好它,要修補的是主機上安裝的 PHP。
為什麼這次特別嚴重?
PHP 每年都會修補不少安全問題,多數不需要一般網站主特別在意。這次被資安界形容成多年來最嚴重的 PHP 漏洞之一,原因有三個。
不用登入就能攻擊
很多漏洞要先拿到後台帳號、或網站開了某個特定功能才打得進去。這兩個漏洞不需要,攻擊者從外面直接送請求就行。
在網站程式開始執行之前就會觸發
漏洞發生在 PHP 處理請求的初期階段,你的網站程式碼都還沒開始跑。這代表網站本身的防護機制,例如資安外掛、登入限制,在這個階段派不上用場。
細節搶在修補之前外洩
正常的漏洞揭露流程,是開發團隊先把修補做好、讓各家主機商與作業系統廠商預先準備,同一時間公開。這次細節提前外洩,攻擊程式也在網路上流傳,等於攻擊者和防守方同時起跑。
目前的攻擊狀況,各方說法不完全一致。多家資安公司表示,在修補釋出前後就已經觀察到攻擊嘗試;美國網路安全暨基礎設施安全局(CISA)在發布警示時則表示尚未觀察到實際利用。比較穩妥的理解是:大規模的自動化掃描很可能已經開始,還沒修補的主機應該當成高風險處理。
用共用主機的網站:修補是誰的事?
如果你的網站放在虛擬主機(共用主機)上,PHP 是主機商安裝和維護的,你沒有權限自己更新它。你在控制台能做的,只是從主機商提供的幾個 PHP 版本裡挑一個給網站用。
所以這次的修補,主要是主機商的責任。主機商要把伺服器上每一個提供給客戶選用的 PHP 版本都換成修補過的版本,包括為了相容舊網站而保留的舊版本,並重新啟動相關服務才會生效。
這也代表一件事:你自己在控制台把 PHP 從 8.3 切換到 8.4,並不會讓網站變安全。如果主機商兩個版本都還沒修補,切到哪一個都一樣。切換版本的用途和注意事項,可以參考〈PHP 版本怎麼選?共用主機的版本限制與外掛相容性問題〉。

5NET 的虛擬主機已經完成這次的 PHP 修補更新。如果你是 5NET 的主機用戶,主機端不需要你另外操作,下一節的檢查仍然建議做一遍。
網站主現在該確認的 4 件事
1. 確認主機商已經完成修補
最直接的方式是看主機商有沒有發布公告,或寫信、打電話問。問的時候可以問得具體一點:
- 伺服器上的 PHP 是否已更新到修補版本?
- 只修補了預設版本,還是所有可選的版本都修補了?
- 網站目前用的那個版本,是否也在修補範圍內?
如果得到的回答只是「我們持續關注中」,沒有說明哪些版本已經處理,就值得再追問一次。
2. 看看網站正在用哪個 PHP 版本
有兩個地方可以查。
cPanel:進入控制台後,在「軟體」區塊找到「MultiPHP 管理員」,列表裡每個網域旁邊都會顯示目前使用的 PHP 版本。cPanel 的基本操作可以參考〈cPanel 新手教學〉。
WordPress 後台:到「工具」→「網站健康狀態」→「資訊」分頁,展開「伺服器」,裡面會列出 PHP 版本。

PHP 官方釋出的修補版本如下,版本號等於或高於表中數字,就是已修補的版本:
| PHP 分支 | 已修補版本 |
|---|---|
| 8.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.2.35 |
以上面的截圖為例,網站用的是 8.2.35,剛好就是 8.2 分支的修補版本。
要注意的是 8.1 以下的舊版本。PHP 官方已經不再維護這些版本,這次只提供了原始碼層級的修補,沒有正式釋出新版本。部分廠商會自行把修補移植到舊版本上,cPanel 就為它提供的 7.4、8.0、8.1 套件做了這件事。這種情況下,版本號碼可能看起來沒變,光看數字無法判斷是否已修補,只能向主機商確認。
3. 還在用 8.1 以下的,排時間升級
就算這次舊版本有人幫忙修補,下一次就不一定了。官方不再維護的版本,之後再出漏洞,能不能補、什麼時候補,都要看主機商或作業系統廠商願不願意做。
也別把目標設在 8.2。8.2 的官方安全支援到 2026 年 12 月 31 日就結束,再過兩個多月又會遇到同樣的問題,直接升到 8.3 或 8.4 比較省事。升級前先備份,再確認佈景主題和外掛的相容性,萬一出問題,切回原版本通常就能恢復。備份的做法可以參考〈網站備份怎麼做〉。
4. 檢查網站有沒有被入侵的跡象
這次的攻擊嘗試在修補釋出前就已經出現,所以修補完成不代表網站在那段空窗期裡沒事。可以花十分鐘看幾個地方:
- 網站根目錄有沒有不認得的檔案:特別是最近幾天才出現、檔名奇怪的 PHP 檔
- WordPress 有沒有多出不認識的管理員帳號
- Google Search Console 的「安全性問題」報表有沒有出現警告,操作方式見〈Google Search Console 新手教學〉
- 用 site:你的網域 搜尋,看看結果裡有沒有不是你建立的頁面,例如賭博、藥品類的內容
- 網站或信箱有沒有異常:突然變慢、被主機商通知寄信量暴增
如果發現可疑的地方,處理順序可以參考〈網站被駭怎麼辦〉,那篇有從主機端看入侵的完整排查方式。
常見的 4 個誤解
「我把 WordPress 和外掛都更新了,應該就沒事」
這次的問題在 PHP 本身,不在 WordPress。網站程式更新是好習慣,但修不到這個漏洞。
「我自己改一下 PHP 設定就能擋住」
網路上流傳一些暫時性的設定調整,但 PHP 官方說得很清楚:這些做法只能擋住部分攻擊途徑,沒辦法讓主機變安全,更新才是唯一可靠的解法。而且有些設定必須在伺服器層級修改才有效,在共用主機上用網站自己的設定檔去改,是不會生效的。
「網站有用 Cloudflare,應該擋得住」
Cloudflare 確實在漏洞公開前就部署了防護規則,對擋下已知的攻擊手法有幫助。但 Cloudflare 自己也強調這只是暫時性的防護,攻擊手法一變就可能繞過,真正的修補還是要在主機端完成。
「我的網站很小,沒有人會特地來攻擊」
這類攻擊幾乎都是自動化的。攻擊程式會掃過整個網路,找到還沒修補的主機就嘗試入侵,不會先判斷網站大不大、有沒有名氣。被入侵的小網站常被拿去發垃圾信、掛釣魚頁面,或成為攻擊其他網站的跳板。
結語:這次該做的,大部分不在你手上
PHP2Shell 嚴重,但對用共用主機的網站主來說,真正的修補工作在主機商那一端。你要做的是確認主機商確實處理好了、看清楚網站跑在哪個 PHP 版本上,並趁這次機會把還在用舊版本的網站排進升級計畫。
這次事件也提醒了一件事:選主機時,主機商面對緊急漏洞的反應速度和說明的清楚程度,跟規格、價格一樣重要。如果你想確認自己的網站狀況,或考慮把網站搬到更新維護有保障的主機,歡迎與我們聯絡,也可以參考 5NET 的台灣虛擬主機方案。