先分辨 PHP 從哪裡來:跑在容器裡就先看 Docker 頁,控制台裝的看控制台頁,其餘依作業系統,見先分辨 PHP 從哪裡來。各平台頁:Debian・Ubuntu・RHEL・Alpine・Windows・macOS・Docker・控制台・自行編譯。WordPress、Drupal 等網站程式不用另外更新,要修的是底下的 PHP,見是否受影響。
- 盤點:列出所有會回應網頁請求的 PHP,包括控制台(cPanel、Plesk)、Docker 映像、廠商設備與 Windows 軟體內建的 PHP。
- 確認實際版本:
php -v不一定等於網站在用的 PHP-FPM 或 mod_php,見是否受影響。註:PHP-FPM、mod_php
- PHP-FPM
- 以獨立行程池處理請求的常見跑法。基金會確認經應用層路徑可以 RCE。官方沒有把 PHP-FPM 寫成安全,只是沒有把它排在 mod_php 前面。
- mod_php
- 把 PHP 嵌進 Apache 行程的模組。未驗證的請求可在應用程式碼開始前碰到漏洞;官方稱預設設定下已展示完整 RCE。worker 會跨請求重複使用的部署,過期狀態更有機會留下來。
- 更新:依你的平台頁更新到已修補的版本或發行版套件。
註:發行版
- 發行版
- 例如 Debian、Ubuntu、RHEL。套件版號可能不是 8.3.36 這種 php.net 版號,仍可能已經回移植。官方寫明 rpms.remirepo.net 當天不會更新。
- 重啟:重啟所有 php-fpm、Apache、LiteSpeed worker;Docker 要重建映像並重新部署。
註:LiteSpeed、worker
- LiteSpeed
- 官方把 LiteSpeed 列在服務網頁請求、需要假設有風險的安裝裡,沒有單獨排成第二名或第三名。
- worker
- 處理網頁請求的 PHP 行程。同一支 worker 接下一個請求時,可能在正常初始化把殘留狀態清掉之前就用到它。修補後要重啟所有 worker。
- 驗證:向正在接流量的行程確認版號,滾動更新不要留下舊 worker,做法見驗證四步。
- 查日誌:調查視窗從 2026-10-17 起算,見偵測與應變。
- 還不能更新:先套官方暫時緩解,並考慮暫時下線或不直接對外。WAF、CDN 或主機商規則只是暫時層。
註:WAF、CDN
- WAF
- Web Application Firewall。Cloudflare 自 2026-10-21 03:02 UTC 對免費與付費客戶預設上線規則,仍必須更新 PHP。已看到有人變造請求試圖避開規則。研究團隊寫,WAF、CDN 或主機商規則不能取代更新。
- CDN
- Content Delivery Network。研究團隊寫,CDN、WAF 或主機商的規則視廠商與路徑而定,不能取代更新 PHP。Vercel、Cloudflare、Akamai 都有自己的規則,直接打到源站的請求可能不在涵蓋範圍。
- 更新之後:重啟確認版號之後,回頭做更新後的強化。包含把暫時的
memory_limit=-1改回、檢查post_max_size與max_input_nesting_level,並看硬性記憶體上限到達時行程會被終止、shutdown handler 不會執行。這不是第二套修補。註:shutdown handler
- shutdown handler
- 研究團隊寫,修補新增的硬性記憶體上限到達時會終止行程,shutdown handler 不會執行。官方 GHSA 相符的部分是較高的那一道門檻會立刻結束行程。依賴收尾函式的應用要在更新後看過這個行為變化。
來源
查詢日期:。官方公告優先列出;內容如與 PHP 官方公告不一致,以官方公告為準。