PHP2Shell 技術總覽

給工程師、維運與資安人員。先看 TL;DR 與版本矩陣,再進你的平台頁照「檢查 → 更新 → 重啟 → 驗證」做完。

TL;DR

  • 兩個 PHP 核心漏洞:CVE-2026-109618(RCE via OOM corruption)與 CVE-2026-109619(RCE via stale global state),官方 CVSS v4.0 都是 9.2。
  • 官方於 2026-10-21 14:00 UTC(台灣時間 22:00)發布修補。所有服務網頁請求的 PHP 安裝都要假設有風險,Apache mod_php 最高。
  • 漏洞可以在應用程式碼開始之前就被觸發,WordPress、Drupal 等應用本身的更新不是這次的修補,只能更新 PHP。
  • 官方原話:There are no complete mitigations, updating is the only safe choice. 暫時緩解只能降低特定路徑的曝險。
  • 更新之後要重啟所有 worker,再向正在接流量的行程確認版號。

版本矩陣

官方修補版本(來源:PHP 安全公告)
分支官方給了什麼該怎麼做
8.58.5.12(含 Windows binary)升級到 8.5.12 以上,並重啟所有 worker。
8.48.4.27(含 Windows binary)升級到 8.4.27 以上,並重啟所有 worker。
8.38.3.36(含 Windows binary)升級到 8.3.36 以上,並重啟所有 worker。
8.28.2.35(含 Windows binary)升級到 8.2.35 以上,並重啟所有 worker。 本分支安全支援到 2026-12-31,修完仍要排程離開。
7.4、8.0、8.1最小化原始碼回移植,沒有新的官方安裝包優先用發行版或 LTS 廠商的回移植套件;見 舊版策略
7.3 以前(含 5.x)沒有官方修補升級到仍受支援且已修補的分支;完成前不要直接對網際網路開放

發行版套件的版號可能不是上表的 php.net 版號,仍可能已經回移植修補,以該發行版的安全公告為準。程式碼被認為可回溯到 5.4.0,但並非每一個歷史版號都經過逐一驗證。

受影響 SAPI 風險排序

  1. Apache mod_php官方明確最高
  2. PHP-FPM官方列入,必須更新
  3. php-cgi官方列入,必須更新
  4. FrankenPHP官方列入,必須更新
  5. LiteSpeed官方列入,必須更新

官方點名所有服務網頁請求的安裝。mod_php 以外的項目,官方沒有再分第二名、第三名;PHP-FPM 已確認可經應用層路徑 RCE,不要降級看待。控制台、廠商設備或 Windows 軟體內建的 php.exe、php-cgi.exe 也要盤點。

命令列的 php 不在官方「服務網頁請求」那句的主詞裡,但官方也沒有保證命令列絕對無關。盤點時以「會不會被網頁請求碰到」為準。

現在立刻做

  1. 盤點:列出所有會回應網頁請求的 PHP,包括控制台(cPanel、Plesk)、Docker 映像、廠商設備與 Windows 軟體內建的 PHP。
  2. 確認實際版本:php -v 不一定等於網站在用的 PHP-FPM 或 mod_php,見是否受影響。
  3. 更新:依你的平台頁更新到已修補的版本或發行版套件。
  4. 重啟:重啟所有 php-fpm、Apache、LiteSpeed worker;Docker 要重建映像並重新部署。
  5. 驗證:向正在接流量的行程確認版號,滾動更新不要留下舊 worker。
  6. 查日誌:調查視窗從 2026-10-17 起算,見偵測與應變。
  7. 還不能更新:先套官方暫時緩解,並考慮暫時下線或不直接對外。

各平台修補

每頁都照同一個順序:檢查 → 更新 → 重啟 → 驗證。

背景與參考

來源

查詢日期:。官方公告優先列出;內容如與 PHP 官方公告不一致,以官方公告為準。