PHP 漏洞懶人包:PHP2Shell 影響範圍、修補版本與企業檢查步驟
這次的 PHP 漏洞「PHP2Shell」,是 PHP 在 2026 年 10 月 21 日修補的兩個重大漏洞(CVE-2026-109618、CVE-2026-109619),CVSS v4.0 評分都是 9.2,攻擊者不需登入,就可能在伺服器上遠端執行程式碼。只要網站或系統用 PHP 處理網頁請求,包括 WordPress 官網、電商與內部管理系統,都應該立即確認版本並更新。
數位發展部資通安全署在民國 115 年 10 月 22 日發布新聞稿示警,呼籲機關、學校與企業儘速完成盤點與修補。以下依官方公告整理時間軸、受影響版本、企業該做的事,以及暫時無法更新時的做法(資訊截至 10 月 22 日)。若需要協助確認對外系統是否還有未修補的弱點,可以參考我們的 弱點掃描服務。
PHP2Shell 事件時間軸
這次 PHP 漏洞事件的特點是速度很快:從預告到修補只有一天,而且在正式公開前就已經出現攻擊嘗試。
| 日期(2026 年) | 事件 | 來源 |
|---|---|---|
| 10 月 17 日 | Amazon 的誘捕系統記錄到一次 PHP2Shell 攻擊嘗試,早於公開揭露 4 天 | Help Net Security 引述 Amazon |
| 10 月 20 日 | PHP 安全團隊預告,將於 10 月 21 日 14:00 UTC(台灣時間 22:00)釋出緊急更新 | php.net |
| 10 月 21 日 | 發布 PHP 8.5.12、8.4.27、8.3.36、8.2.35,修補兩個漏洞 | php.net |
| 10 月 22 日 | 資安署發布新聞稿,透過資安警訊、N-ISAC 與 TWCERT/CC 通知機關與企業 | 數位發展部資通安全署 |
依 Help Net Security 10 月 22 日更新的報導,Amazon 威脅情報團隊的誘捕系統 MadPot 在 10 月 17 日就記錄到一次攻擊嘗試,比官方公開揭露早了 4 天;攻擊者如何事先取得漏洞細節,目前仍不清楚。
國內影響方面,聯合新聞網 10 月 22 日報導,資安署長受訪時表示,國內約有 2 萬 8 千多個相關的對外服務網站,其中政府機關網站約 200 個,但不一定全部受影響。
哪些網站與 PHP 版本受影響?
依 php.net 的安全公告,所有用 PHP 處理網頁請求的環境都在風險範圍內,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 與 LiteSpeed,其中 mod_php 風險最高。兩個漏洞分別是記憶體不足處理過程造成的資料損壞(CVE-2026-109618),以及前一個請求殘留的內部狀態被後續請求誤用(CVE-2026-109619)。
| 使用中的版本 | 該怎麼做 |
|---|---|
| PHP 8.5 | 更新到 8.5.12 |
| PHP 8.4 | 更新到 8.4.27 |
| PHP 8.3 | 更新到 8.3.36 |
| PHP 8.2 | 更新到 8.2.35,並規劃升級;8.2 將於 2026 年 12 月 31 日停止支援 |
| PHP 8.1 以前 | 官方已不再更新,只提供 7.4、8.0、8.1 的原始碼修補;應升級到受支援版本,或向 Linux 發行版、長期支援廠商確認是否有修補套件 |
使用 Linux 發行版套件的伺服器,PHP 官方表示各發行版已事先取得修補,請以發行版的更新套件為準。

企業現在該做的 5 件事
處理這次 PHP 漏洞,PHP 官方強調目前沒有完整的緩解方式,更新是唯一安全的選擇。資安署的建議也以盤點與修補為主,可以依下列順序處理:
- 盤點:列出所有使用 PHP 的系統,包括官網、電商、內部管理系統,以及委外廠商代管的網站。
- 確認版本:自管主機可用
php -v確認;WordPress 可在後台「工具 → 網站健康狀態 → 資訊 → 伺服器」查看 PHP 版本;使用虛擬主機或代管服務,直接請業者回覆版本與更新時間。 - 更新:依上表更新到修補版本,並重新啟動所有 PHP 處理程序,確認新版本已生效。
- 檢查紀錄:更新後檢視系統日誌與異常存取紀錄,例如不明的檔案上傳、新增的管理員帳號、陌生的排程工作。
- 持續追蹤:後續 php.net 與資安署若有新的資訊或修補,要再次確認。
對外系統很多的企業,更新後可以安排一次 弱點掃描,確認沒有漏掉的主機或舊版本。

暫時無法更新時,可以先做什麼?
如果因為相容性或排程無法立刻更新,php.net 列出幾項可以降低特定攻擊途徑的設定,但官方也明說這些措施不能讓系統變安全,只能爭取時間:
針對 CVE-2026-109618(記憶體不足處理):
- 將
memory_limit設為 -1,並用應用程式無法覆寫的方式設定,例如 FPM pool 或 Apache 設定中的php_admin_value;同時確認沒有任何 pool、目錄或應用程式設定把有限的上限設回去。官方提醒,這只能移除可控的記憶體上限失敗,底層的記憶體配置失敗仍可能走到漏洞路徑。 - 取消記憶體上限後,改用容器或 cgroup 限制作為可用性邊界,最好設定成只結束受影響的 worker;不要改用
RLIMIT_AS或RLIMIT_DATA,這兩者反而可能造成會觸發漏洞的配置失敗。 - 降低
post_max_size:不需上傳檔案的網站設 8M,需要上傳的設 32M,並讓upload_max_filesize小於post_max_size。 - 在網頁伺服器或代理層限制請求大小、欄位數量、multipart 區段數、標頭數量與巢狀深度,而且要涵蓋沒有 Content-Length 的請求。
針對 CVE-2026-109619(殘留的內部狀態):
- 在 php.ini、FPM pool 或伺服器設定中將
session.upload_progress.enabled設為 0,並重新啟動所有 worker;不能只用ini_set()或 FPM 的.user.ini。 - 使用 PHP 8.5 的環境,另將
fatal_error_backtraces設為 0 並重新啟動 worker。
官方說明,這些措施只封住已確認的部分攻擊路徑,無法讓系統變安全。
其中取消記憶體上限、調低上傳大小都可能影響網站功能或伺服器穩定,調整前應先在測試環境確認,並儘快排定正式更新。
已經被入侵了怎麼辦?
若檢查紀錄時發現 PHP 漏洞可能已被利用的跡象,資安署建議進一步確認相關帳號與憑證的安全性。實務上應先隔離受影響主機、保留日誌,再更換管理員密碼與 API 金鑰;網站若存有會員或客戶資料,還要評估是否發生個資外洩,相關通知與通報步驟可以參考 個資外洩怎麼辦 的整理。

需要確認入侵途徑或驗證修補是否完整時,可以安排一次 滲透測試,由專家實際測試對外系統。
這次 PHP 漏洞給企業的提醒
這次事件再次說明,弱點從公開到被利用的時間越來越短。平常就要有一份完整的對外系統清單,知道每個網站用什麼版本、由誰負責更新,發生類似事件時才能在一天內完成盤點與修補。
不確定公司有多少對外系統、版本是否都已更新,可以 先請顧問看一下現況。
PHP 漏洞常見問題
WordPress 網站要做什麼?
這次是 PHP 本身的漏洞,更新 WordPress 或外掛無法修補。要確認主機上的 PHP 版本,更新到 8.5.12、8.4.27、8.3.36 或 8.2.35;使用 8.1 以前版本的網站,應儘快升級到受支援版本。
用虛擬主機要自己更新嗎?
多數虛擬主機的 PHP 由業者管理,但仍建議主動詢問業者是否已完成更新,並在主機控制台確認目前使用的 PHP 版本。如果控制台可以自選版本,避免停留在 8.1 以前的舊版。
有 Cloudflare 防火牆就安全嗎?
不算安全。網站應用程式防火牆可以擋下部分已知攻擊手法,但 PHP 官方表示目前沒有完整的緩解方式,只有更新才能真正修補漏洞。
參考資料
- PHP News Archive 2026:Security advisory – 受影響環境、修補版本與暫時緩解措施。PHP Group · 2026 年 10 月 21 日
- 網站開發程式語言PHP釋出緊急安全更新 資安署呼籲儘速完成修補 – 國內示警與建議措施。數位發展部資通安全署 · 民國 115 年 10 月 22 日
- PHP 爆出重大資安漏洞 資安署:國內約2.8萬對外網站受影響 – 資安署長說明國內影響規模。聯合新聞網 · 2026 年 10 月 22 日
- PHP2Shell: Critical PHP vulnerabilities patched, update now – 公開前的攻擊嘗試紀錄。Help Net Security · 2026 年 10 月 21 日
