PHP2Shell 是 PHP 中兩個嚴重漏洞的統稱,攻擊者可能在不知道任何密碼的情況下於伺服器上執行程式碼。如果您的網站運行在 WordPress 等以 PHP 為基礎的系統上,就可能有風險。解決方法不是更新 WordPress,而是將伺服器上的 PHP 更新至 8.5.12、8.4.27、8.3.36、8.2.35 或更新的版本,並請主機商確認。
過去兩天,「PHP」佔據了各大新聞。荷蘭民眾登入政府服務的 DigiD 一度無法使用;芬蘭部分政府網站基於預防而暫時關閉;美國 FBI 與 NSA 呼籲無法修補的機構先將伺服器下線;土耳其總統府資安署則啟動了全國性的掃描。
本文會在不堆疊技術細節的前提下說明發生了什麼,接著一步步介紹旅遊業者如何判斷網站是否受影響、今天該做哪些事,以及如何為下一次做好準備。
先談基礎:PHP 是什麼?
PHP 是一種在許多網站背後運作的程式語言。訪客打開您的網站時,負責產生頁面、把聯絡表單轉成電子郵件、把訂單存進資料庫的程式碼,很多都是用 PHP 寫的。
即使您從沒聽過它,也很可能在某處用到它。WordPress、WooCommerce、Joomla、Drupal 以及許多現成的訂位外掛都運行在 PHP 上。根據 FBI 的說法,全球約 70% 的網站使用 PHP。
發生了什麼事?
2026 年 10 月 20 日至 21 日,PHP 團隊針對兩個嚴重的資安漏洞發布了緊急更新。它們的編號是 CVE-2026-109618 與 CVE-2026-109619,合稱「PHP2Shell」,嚴重程度評分都是 9.2 分(滿分 10 分)。
之所以嚴重,是因為在特定條件下,攻擊者不需要帳號或密碼,就能透過網路在您的伺服器上執行任意程式碼。資安領域稱之為遠端程式碼執行(RCE)。簡單來說,就是有人不用鑰匙也能打開您的大門。
根據 Qualys 的分析,其中一個漏洞源自伺服器記憶體不足時資料停留在半初始化狀態,另一個則是發生錯誤後,下一位訪客的請求重新讀取了已釋放的記憶體。研究人員也證明,密碼、工作階段資訊與 API 金鑰等資料可能從伺服器記憶體外洩。
據阿納多盧通訊社報導,這些漏洞是資安公司 Calif 在 8 月藉助 AI 發現的。修補工作在保密狀態下進行了約兩個月,但消息在修補程式發布前一天外流到媒體。
為什麼影響這麼大?
- 規模龐大:Palo Alto Networks 發現超過 2,260 萬個暴露在網路上、可能存在漏洞的系統。
- 舊版本到處都是:Qualys 的資料顯示,已知版本的 PHP 安裝中有 71% 使用已停止支援的版本,無法取得常規修補。
- 攻擊已經開始:Cloudflare 回報偵測到針對這些漏洞的攻擊流量,可用來利用漏洞的程式碼也已流傳開來。
- 修補速度緩慢:揭露後的前 12 小時內,Qualys 追蹤的 1.67 億個安裝中只有約 19.9 萬個完成更新。
這就是各國政府關閉網站的原因。在系統完成修補之前,最安全的做法是關上攻擊者可能進入的那扇門。土耳其資安署向公部門發出緊急通知,並呼籲民間企業檢查自己的 PHP 系統。該署表示,國家政府入口網站 e-Devlet 並未發現影響服務的問題。
這對旅遊業者代表什麼?
攻擊者入侵後能做什麼,取決於您的網站存放了哪些資料。最可能發生的情況包括:
- 客戶資料外洩:訂位表單中的姓名、電話、電子郵件與護照資料。依您和旅客所在地區而定,GDPR、個人資料保護法等法規可能要求您通報。
- 密碼與金鑰遭竊:資料庫密碼,以及金流服務、通路管理系統或郵件服務的 API 金鑰。
- 網站被植入惡意內容:隱藏的垃圾頁面,或把訪客導向其他網站的程式碼。一旦被 Google 發現,您的網站可能會附帶警告顯示,幾個月的 SEO 成果也可能受損。
- 伺服器被挪作他用:挖礦、寄送垃圾郵件或攻擊其他網站。
- 營收損失:如果為了預防不得不關閉網站,即使在旺季也無法接單。
您的網站受影響嗎?先檢查版本
第一步是確認網站是否運行在 PHP 上,以及使用哪個版本。WordPress 使用者可在後台的「工具 → 網站狀態 → 資訊 → 伺服器」查看 PHP 版本。主機控制台(cPanel、Plesk 等)通常也會在「PHP 版本」欄位顯示。
已修補漏洞的版本如下:
- PHP 8.5:8.5.12 或更新
- PHP 8.4:8.4.27 或更新
- PHP 8.3:8.3.36 或更新
- PHP 8.2:8.2.35 或更新
- PHP 8.1 及更早版本:沒有常規的官方更新。除非主機商套用了特別的修補,否則需要升級到更新的版本。
請注意:部分 Linux 發行版在發布修補時會保留舊的版本號。因此,版本號較低不一定代表網站存在漏洞。最可靠的方式是直接詢問主機商。
今天要做的事
- 聯絡主機商並詢問:「我伺服器上的 PHP 是否已針對 PHP2Shell(CVE-2026-109618 與 CVE-2026-109619)完成更新?」只回答「我們已新增防火牆規則」是不夠的,請確認 PHP 本身已經更新。
- 要知道更新 WordPress 無法解決問題:漏洞不在 WordPress,而在它底下運行的 PHP。更新外掛或佈景主題、安裝資安外掛、開啟維護模式都無法防護,因為攻擊可能在 WordPress 載入前就已執行。
- 如果您有自己的伺服器(VPS):更新 PHP 套件後,務必重新啟動 PHP-FPM 或 Apache。沒有重新啟動的伺服器會繼續執行舊的、有漏洞的程式碼。使用 Docker 的話,請拉取新映像檔並重新建立容器。
- 如果您使用舊版本:先在伺服器之外做一份完整備份,再升級到 PHP 8.3 或 8.4。之後逐一測試首頁、行程頁面、聯絡表單與訂位流程。
- 如果暫時無法修補:把網站放在 Cloudflare 等防火牆之後可提供暫時防護。如果有技術團隊,可以套用 PHP 建議的暫時設定(例如 session.upload_progress.enabled=0)。這不是完整的解決方案,只是爭取時間。
已經有人入侵了嗎?需要檢查的跡象
修補完成後,最好檢查在漏洞被補上之前是否已有人入侵:
- WordPress 中是否有您不認得的管理員帳號?
- 是否出現了您沒有安裝過的外掛?
- 存放圖片的 wp-content/uploads 資料夾裡是否有 .php 檔案?這裡不應該有任何 PHP 檔案。
- 在 Google 搜尋 site:您的網域.com 時,是否出現您從未寫過的頁面?
- Google Search Console 的「安全性問題」中是否有警告?
- 主機商是否寄來惡意程式、垃圾郵件或資源使用異常的警告?
如果發現任何一項,請主機商掃描伺服器,並還原到可疑活動發生前的乾淨備份。接著更換所有密碼與 API 金鑰:WordPress、主機、資料庫、電子郵件,以及金流或銷售通路的串接。如果客戶資料可能已經外洩,請就您的法律義務諮詢專業人士。
展望未來:長期的防護措施
PHP2Shell 不會是最後一個漏洞。真正的問題是下一次您能準備得多充分。我們建議養成以下習慣:
- 使用仍受支援的版本:停止支援的軟體不會再有修補。目前 PHP 8.3 或 8.4 是不錯的選擇。
- 明確指定更新負責人:誰在更新您的網站?多久更新一次?這需要明確的答案。代管型主機或維護合約是把這件事寫成書面約定的簡單方式。
- 清楚自己擁有什麼:主網站、舊的活動頁面、測試站、被遺忘的子網域……為每一個記錄所在伺服器與版本。攻擊者最喜歡被遺忘的網站。
- 刪除不需要的東西:移除沒在用的外掛、佈景主題與舊網站。每多一個元件,就多一扇可能被漏洞打開的門。
- 把網站放在防火牆之後:在新漏洞公布、尚未修補時,Cloudflare 這類服務就是您的第一道防線。
- 密碼與金鑰分開管理:不要把 API 金鑰寫進程式碼,只給每項服務必要的權限,並定期更換金鑰。
- 備份存放在伺服器之外,並測試還原:從未還原過的備份,您無法確定它是否真的能用。
- 監控網站:上線狀態監控、Search Console 通知與檔案變更提醒,能讓您比旅客更早發現問題。
- 寫一份簡短的應變計畫:事先決定出問題時要聯絡誰、如何暫時下線網站、如何通知客戶。
更大的圖像:漏洞被發現得越來越快
這次事件最引人注目的一點,是漏洞在 AI 的協助下被發現。同樣的工具也掌握在心懷不軌的人手中。今後,漏洞會更快被發現,也會更快被利用。
這代表「有空再更新」的時代已經結束。對旅遊業者來說,網站不再只是櫥窗,而是接收訂單、保存客戶資料的營運工具。守護它的安全,本身就是維持營運不中斷的一部分。
在 Monotim,我們以現代化的技術基礎打造網站,不會直接受到這類伺服器語言漏洞的影響。但沒有任何技術能永遠安全。真正的差別在於持續關注網站,並在出問題時迅速採取行動。
如果您不確定網站是否受到 PHP2Shell 影響,或主機商沒有給出明確答覆,我們可以一起看看。
參考資料
- PHP Announces Critical Security Release for Two Vulnerabilities (PHP2Shell), Qualys (blog.qualys.com)
- Threat Brief: Critical Vulnerabilities in PHP, Palo Alto Networks Unit 42 (unit42.paloaltonetworks.com)
- Responding to core PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619, Google Cloud (cloud.google.com)
- Hundreds of websites taken offline as concern grows over two PHP vulnerabilities, The Record (therecord.media)
- Dünya çapında PHP kaynaklı güvenlik açığının giderilmesi için çok sayıda internet sitesi erişime kapatıldı, Anadolu Ajansı (aa.com.tr)
- PHP2Shell: what it is, and what to do on your WordPress site, Meow Apps (meowapps.com)
更新紀錄
- 最新
首次發布。