網站技術教學專區

網域、主機、網站設計與 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 本身,而非網站程式或外掛

問題出在 PHP 本身,不是你的網站程式

這是這次最需要理解的一點。一般常聽到的網站漏洞,多半出在 WordPress 的某個外掛、某個佈景主題,或網站自己寫的程式,更新那個外掛就解決了。

PHP2Shell 不一樣,它出在更底下一層:負責執行所有 PHP 程式的直譯器本身。你的網站程式寫得再好、外掛再少,只要底下的 PHP 還沒修補,就一樣暴露在風險裡。反過來說,更新 WordPress 或外掛也修不好它,要修補的是主機上安裝的 PHP。

為什麼這次特別嚴重?

PHP 每年都會修補不少安全問題,多數不需要一般網站主特別在意。這次被資安界形容成多年來最嚴重的 PHP 漏洞之一,原因有三個。

不用登入就能攻擊

很多漏洞要先拿到後台帳號、或網站開了某個特定功能才打得進去。這兩個漏洞不需要,攻擊者從外面直接送請求就行。

在網站程式開始執行之前就會觸發

漏洞發生在 PHP 處理請求的初期階段,你的網站程式碼都還沒開始跑。這代表網站本身的防護機制,例如資安外掛、登入限制,在這個階段派不上用場。

細節搶在修補之前外洩

正常的漏洞揭露流程,是開發團隊先把修補做好、讓各家主機商與作業系統廠商預先準備,同一時間公開。這次細節提前外洩,攻擊程式也在網路上流傳,等於攻擊者和防守方同時起跑。

目前的攻擊狀況,各方說法不完全一致。多家資安公司表示,在修補釋出前後就已經觀察到攻擊嘗試;美國網路安全暨基礎設施安全局(CISA)在發布警示時則表示尚未觀察到實際利用。比較穩妥的理解是:大規模的自動化掃描很可能已經開始,還沒修補的主機應該當成高風險處理。

用共用主機的網站:修補是誰的事?

如果你的網站放在虛擬主機(共用主機)上,PHP 是主機商安裝和維護的,你沒有權限自己更新它。你在控制台能做的,只是從主機商提供的幾個 PHP 版本裡挑一個給網站用。

所以這次的修補,主要是主機商的責任。主機商要把伺服器上每一個提供給客戶選用的 PHP 版本都換成修補過的版本,包括為了相容舊網站而保留的舊版本,並重新啟動相關服務才會生效。

這也代表一件事:你自己在控制台把 PHP 從 8.3 切換到 8.4,並不會讓網站變安全。如果主機商兩個版本都還沒修補,切到哪一個都一樣。切換版本的用途和注意事項,可以參考〈PHP 版本怎麼選?共用主機的版本限制與外掛相容性問題〉。

共用主機上,PHP 修補由主機商負責,網站主負責檢查確認

5NET 的虛擬主機已經完成這次的 PHP 修補更新。如果你是 5NET 的主機用戶,主機端不需要你另外操作,下一節的檢查仍然建議做一遍。

網站主現在該確認的 4 件事

1. 確認主機商已經完成修補

最直接的方式是看主機商有沒有發布公告,或寫信、打電話問。問的時候可以問得具體一點:

  • 伺服器上的 PHP 是否已更新到修補版本?
  • 只修補了預設版本,還是所有可選的版本都修補了?
  • 網站目前用的那個版本,是否也在修補範圍內?

如果得到的回答只是「我們持續關注中」,沒有說明哪些版本已經處理,就值得再追問一次。

2. 看看網站正在用哪個 PHP 版本

有兩個地方可以查。

cPanel:進入控制台後,在「軟體」區塊找到「MultiPHP 管理員」,列表裡每個網域旁邊都會顯示目前使用的 PHP 版本。cPanel 的基本操作可以參考〈cPanel 新手教學〉。

WordPress 後台:到「工具」→「網站健康狀態」→「資訊」分頁,展開「伺服器」,裡面會列出 PHP 版本。

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 的台灣虛擬主機方案。

近期文章

自己做太花時間?

5NET 從 2000 年開始經營主機與網站,SEO 從關鍵字選定到技術修正一手包辦。告訴我們你想排的關鍵字,免費評估競爭現況與預估時程。

了解SEO排名優化

文章分類

標籤雲

5NET專業 SEO 服務

關鍵字策略全面規劃

5NET SEO 關鍵字服務,從搜尋意圖出發,深入分析產業關鍵字與競品布局,協助網站精準鎖定高曝光、高轉換的搜尋字詞。