PHP 官方修補正式釋出:8.5.12/8.4.27/8.3.36/8.2.35 上線,雙 RCE 漏洞細節首度公開
PHP 安全團隊如期在 10 月 21 日 14:00 UTC 釋出四個修補版本,修復 CVE-2026-109618 與 CVE-2026-109619 兩個未授權遠端程式碼執行漏洞。官方直言「沒有完整的緩解措施,升級是唯一安全的選擇」,並公開兩個漏洞的技術機制與暫時緩解設定。
PHP 官方已於 10 月 21 日 14:00 UTC(台北時間今晚 22:00)如期釋出緊急安全更新:PHP 8.5.12、8.4.27、8.3.36 與 8.2.35 四個版本同步上線,修復昨天提前外洩的兩個 PHP 核心遠端程式碼執行(RCE)漏洞 CVE-2026-109618 與 CVE-2026-109619。官方在安全公告中開宗明義:這兩個漏洞可讓攻擊者在未登入、未授權的情況下遠端執行任意程式碼,「所有 PHP 使用者都應立即更新」。這是本系列的後續發展,前情(漏洞外洩與曝險統計)可見本站稍早的報導。
誰有風險:mod_php 最高,示範攻擊已存在
官方點名,所有對外提供網頁服務的 PHP 安裝都在風險範圍內,包括 PHP-FPM、Apache mod_php、php-cgi、FrankenPHP 與 LiteSpeed。其中 mod_php 風險最高:官方表示已存在示範攻擊,未授權請求可以在任何應用程式碼執行之前就觸發漏洞。換句話說,網站程式寫得再安全也擋不住,修補只能從 PHP 本身下手。
兩個漏洞的機制首度公開
隨著修補釋出,官方也首次揭露技術細節:
- CVE-2026-109618(OOM 記憶體損毀):PHP 在處理記憶體不足(out-of-memory)時可能中斷請求,而當下內部請求資料只初始化了一半;後續的清理流程卻把這些無效資料當成有效資料處理,攻擊者可借此取得程式碼執行。
- CVE-2026-109619(過期全域狀態):屬於某個請求的內部狀態,在其背後記憶體已被釋放後仍殘留下來;同一個 worker 處理的下一個請求,可能在正常初始化重置之前就用上這份過期狀態,導致未授權 RCE。
怎麼修:升級是唯一解,舊版有官方最小 backport
官方強調:沒有完整的緩解措施,更新是唯一安全的選擇。 具體路徑:
- PHP 8.2 以上:直接升級到 8.2.35、8.3.36、8.4.27 或 8.5.12。Linux 發行版與 LTS 供應商已提前拿到修補,先查發行版套件更新;但官方特別提醒,
rpms.remirepo.net今天不會有更新,依賴該來源的人應改用發行版套件或自行從原始碼建置。 - PHP 8.1 或更舊:PHP 專案本身不再提供更新,部分發行版與 LTS 供應商有回溯移植版可問。值得注意的是,官方這次破例為 PHP 7.4、8.0、8.1 提供了最小化的原始碼 backport(公布於 GitHub),供自行編譯或沒有 LTS 供應商可用的人應急——這是官方對 EOL 版本罕見的讓步,但仍非長久之計,升級到受支援版本才是正解。
- 另注意:PHP 8.2 將於 2026 年 12 月 31 日停止支援,這是它最後一個季度的安全更新,還在 8.2 的站長應開始規劃升級。
今晚升不了?官方給的暫時緩解設定
若無法立即升級,官方列出可降低特定攻擊路徑曝險的臨時措施(但明言不保證安全):
- 針對 CVE-2026-109618:將
memory_limit設為-1,且用php_admin_value在 FPM pool 或 Apache 設定中強制,避免被應用程式覆寫回去;同時把post_max_size壓低(不需要上傳的應用設 8M、需要上傳設 32M),並在網站伺服器/代理層加上請求大小與欄位數量限制。 - 針對 CVE-2026-109619:設定
session.upload_progress.enabled=0並重啟所有 worker(必須在 php.ini 或 FPM pool 層級設定,不能靠ini_set());PHP 8.5 另可設fatal_error_backtraces=0並重啟 worker;同時移除會在初始化前就噴出診斷訊息的無效或棄用設定,並修掉攻擊者可觸及的 fatal error 與逾時路徑。
漏洞細節與修補都已公開,接下來就是攻擊者與站長比速度的時間。Sansec 先前預估大規模掃描會在修補公開後迅速展開,今晚有 PHP 網站的人,第一件事就是確認版本、排升級。
資料來源
- PHP 官方安全公告:Security advisory: Critical remote code execution vulnerabilities, update now(php.net,2026-10-21)
- PHP 8.5.12/8.4.27/8.3.36/8.2.35 發布公告(php.net)
- GitHub 安全公告 GHSA-w8hw-w9fx-j79w(CVE-2026-109618)、GHSA-6wmf-4rv5-p3rp(CVE-2026-109619)