PHP2Shell 漏洞怎麼處理?台灣企業 PHP 網站的 5 步驟修補與 WAF 防護指南
如果你的官網、電商、會員系統或內部後台是用 PHP 開發(包含 WordPress、Laravel 等常見架構),這週最需要排進待辦的一件事,就是確認伺服器上的 PHP 版本。PHP 官方在 2026 年 10 月 21 日發布安全公告,修正兩個被稱為「PHP2Shell」的重大漏洞,未經驗證的網路請求就可能觸發遠端程式碼執行。AWS 也發布安全公告,並表示偵測到在修補釋出前就已出現利用嘗試。
這篇文章不重複新聞細節,而是從企業 IT 與決策者角度整理:哪些環境受影響、該升到哪個版本、暫時無法升級時能做什麼,以及修補期間如何用 WAF 爭取時間。
PHP2Shell 是什麼?先看已確認的事實
以下內容整理自 PHP 官方公告、AWS 安全公告與資安廠商報告(查核日期:2026-10-27)。
兩個漏洞: CVE-2026-109618(記憶體不足處理時,請求資料只完成部分初始化,清理流程誤用而造成記憶體破壞)與 CVE-2026-109619(請求結束後,殘留的內部狀態被同一個 worker 的下一個請求誤用)。
影響: 兩者都可能導致未經驗證的遠端程式碼執行(RCE)。Fortinet 報告引用的 CVSS 4.0 分數為 9.2。
受影響的執行方式: PHP 官方指出,所有處理網頁請求的 PHP 安裝都在風險範圍內,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 與 LiteSpeed,其中 mod_php 風險最高,因為攻擊可能在任何應用程式碼執行前就被觸發。
已修補版本: PHP 8.5.12、8.4.27、8.3.36、8.2.35。
舊版本: PHP 8.1 以前已不再由 PHP 官方提供更新。官方為 7.4、8.0、8.1 提供了最小化的原始碼修補,但 AWS 公告也提醒,5.4–8.1 屬於終止支援版本,應盡快遷移到受支援的版本。
利用狀況: AWS 威脅情報表示,最早的利用嘗試出現在 10 月 17 日,早於正式修補。也有資安業者觀察到的活動多為掃描與無效的 PoC。實際成功入侵的規模目前仍無公開定論。
後續發展: PHP 基金會 10 月 23 日另行公告一個待修補的 RCE 漏洞 CVE-2026-115560,觸發條件少見,官方建議先將 session.upload_progress.enabled 設為 0,並會在下次例行版本中修正。
為什麼台灣企業要特別注意?
以下為 WeWinCloud 的分析與建議,非官方說法。
台灣許多中小企業的官網、活動頁與電商站採用 PHP 架構,而且常由外包廠商建置後就交由內部人員維護。我們在實務上常看到三種情況,會讓這類漏洞的風險被放大:
只更新 CMS,沒更新 PHP。 WordPress 或外掛顯示「已是最新版」,但底層 PHP 仍停留在舊版。這次的漏洞在 PHP 執行環境本身,更新 CMS 並不能修補。
主機沒有明確負責人。 網站放在雲端主機或虛擬主機上,帳號在行銷部門、維護在外包商,出事時沒有人能立刻判斷版本與修補方式。
長期停在終止支援版本。 系統上線多年仍在 PHP 7.x 或 8.0 / 8.1,升級牽涉程式相容性,一直被延後。
換句話說,這次事件真正考驗的不只是「會不會打補丁」,而是企業是否清楚自己有哪些對外服務、跑在什麼版本上,以及誰能在 24 小時內處理。
受影響範圍與處理方式對照
你的環境 | 狀態 | 建議處理方式 |
|---|---|---|
PHP 8.2 / 8.3 / 8.4 / 8.5 | 有官方修補 | 升級到 8.2.35、8.3.36、8.4.27 或 8.5.12,並重新啟動所有 PHP worker |
PHP 7.4 / 8.0 / 8.1 | 官方已不提供版本更新 | 洽作業系統或 LTS 廠商取得 backport 修補,同時規劃升級到受支援版本 |
PHP 7.3 以前 | 終止支援 | 先套用臨時緩解並限制曝險,優先規劃遷移 |
AWS Elastic Beanstalk | AWS 已釋出新平台版本 | 開啟 Managed Platform Updates,或手動更新平台版本 |
Amazon Lightsail | 新藍圖已提供 | 現有執行個體無法原地更新,需以新藍圖建立並遷移 |
Amazon Linux 自建主機 | 已提供更新套件 | 盡快套用套件更新並確認實際執行版本 |
Lambda 自訂 runtime / 容器映像 | 需自行更新 | 更新映像內的 PHP 版本並重新部署 |
表格依據 AWS 安全公告 2026-143-AWS 與 PHP 官方公告整理。其他雲端平台或虛擬主機商,請以各自公告為準。
企業 PHP 網站 5 步驟檢查清單
步驟 1:盤點所有對外的 PHP 服務
列出官網、電商、活動頁、會員系統、API 與內部後台,標示主機位置(自建、雲端主機、虛擬主機或託管平台)和負責人。容易被遺漏的是早期活動網站與測試環境。
步驟 2:確認「實際執行」的 PHP 版本
在主機上確認實際執行中的 PHP 版本,而不是只看套件管理員顯示的版本。部分 Linux 發行版會在不改版本號的情況下 backport 修補,需要查對廠商公告確認套件內容。
步驟 3:升級並重新啟動 worker
升級到官方修補版本後,要重新啟動或替換所有 PHP-FPM、Apache 等 worker,並再次確認運行中的服務已載入新版本。只安裝套件而沒有重啟,舊版本仍可能在記憶體中繼續執行。
步驟 4:暫時無法升級時,先套用臨時緩解
PHP 官方列出的臨時措施包括:關閉 session.upload_progress.enabled、在不需要大型上傳的服務降低 post_max_size,以及在 Web 伺服器或代理層限制請求大小與欄位數量。這些措施只能減少特定攻擊路徑,不能取代升級。
步驟 5:檢查是否已有入侵跡象
若主機在修補前長時間暴露,建議檢查異常程序、新增的檔案或排程、不明的對外連線,以及 Web 日誌中大量異常的 multipart POST 請求。安裝修補並不會移除已經進入系統的攻擊者。
修補期間,WAF 能做什麼、不能做什麼?
WAF(網站應用程式防火牆)可以在應用程式前面過濾可疑請求,是修補期間常用的過渡防護。AWS 表示,AWS WAF 的 PHP 受管理規則群組已更新以涵蓋這兩個 CVE,使用預設版本的客戶會自動套用,固定版本的客戶則需要手動更新到最新版本。其他 CDN 與 WAF 供應商也陸續釋出對應規則。
不過,WAF 有它的限制:
它是降低風險,不是修補。 攻擊手法可能出現變形,規則不一定能涵蓋所有變體。
只保護有經過 WAF 的流量。 若主機 IP 可以被直接連線,攻擊者仍可能繞過 WAF。建議同時限制來源,只允許 CDN 或負載平衡器連入。
規則需要確認已啟用。 不少企業「有買 WAF」,但規則群組停在舊版本,或只開啟監控(Count)模式而沒有阻擋。
較實際的做法是「WAF 先擋、版本盡快升、日誌持續看」三件事同時進行。
常見問題
我們用的是 WordPress,更新到最新版就安全了嗎?
不一定。PHP2Shell 是 PHP 執行環境本身的漏洞,WordPress 與外掛的更新無法修補它。請確認主機上的 PHP 版本已升到官方修補版本。
網站放在虛擬主機,我們能做什麼?
先向主機商確認 PHP 版本與修補時程,並查看控制台是否能切換到已修補的 PHP 版本。若主機商無法提供明確時程,就應評估遷移到可自行控管版本的環境。
已經有防毒軟體或 EDR,還需要處理嗎?
需要。EDR 能協助偵測主機上的異常行為,但漏洞本身仍需透過升級修補。兩者是互補關係,不能互相取代。
結語:把這次事件變成一次盤點
PHP2Shell 不會是最後一個影響廣泛的 Web 執行環境漏洞。比起每次事件發生才緊急應變,更值得做的是建立一份對外服務清單、明確的版本更新責任,以及修補期間的 WAF 與監控機制。
WeWinCloud 提供 WAF 網站防火牆、DDoS 防護、EDR / MDR 端點防護與資安顧問、弱點評估等資安防護服務。
需要協助盤點 PHP 網站的版本與曝險、設定 AWS WAF 規則,或規劃舊系統的升級與遷移?👉 與我們聯繫,由專人協助評估。
延伸閱讀
參考資料
PHP 官方:Security advisory — Critical remote code execution vulnerabilities(2026-10-21)
AWS 安全公告 2026-143-AWS:PHP web runtimes(2026-10-21 發布,10-23 更新)
Fortinet:Understanding PHP2Shell vulnerabilities and reducing risk while you patch(2026-10-23)
iThome:PHP2Shell 漏洞修補釋出兩天後,PHP 基金會警告還有一個待修補的遠端程式碼執行漏洞(2026-10-24)



留言