PHP 專案於今日發布 PHP 8.5.12、8.4.27、8.3.36 和 8.2.35 版本,修復了兩個關鍵漏洞。在特定條件下,未經身份驗證的攻擊者可透過這些漏洞在執行 PHP 的伺服器上執行程式碼(RCE)。php.net 的公告包含技術細節、攻擊向量及更新說明。

這兩個漏洞分別為: 1. CVE-2026-109618 / GHSA-w8hw-w9fx-j79w:透過記憶體不足(OOM)導致的記憶體損壞引發 RCE。若請求恰好在錯誤時刻達到 PHP 的 memory_limit,PHP 可能遺留部分初始化的內部資料並將其視為有效,從而損壞記憶體。在 Apache 搭配 mod_php 的環境中,未經身份驗證的請求可在任何應用程式程式碼執行前觸發此問題,且在預設設定下已證實可實現完整的遠端程式碼執行。透過 PHP-FPM 的應用程式層級程式碼路徑也確認了 RCE。 2. CVE-2026-109619 / GHSA-6wmf-4rv5-p3rp:透過過期狀態(stale state)引發 RCE。若在錯誤時點發生致命錯誤,內部狀態可能指向屬於先前請求的記憶體。同一個 worker 處理的後續請求可能會使用該已釋放的記憶體。已確認存在 use-after-free 和 worker 崩潰問題,報告者證實了在 Apache 搭配 mod_php 執行真實世界應用程式時的遠端程式碼執行。

這兩個問題位於幾乎每個請求都會觸及的 PHP 核心部分:記憶體管理和錯誤處理。它們在 PHP 中的核心地位使得漏洞嚴重,但也因需維持相容性、不影響效能且不強制第三方擴充套件進行變更而難以修復。

PHP 基金會承認,修復 OOM 問題的延遲是結構性失敗,源於安全團隊的決策流程及資源不足。過去幾個月,PHP 安全工作組織方式已發生重大變化:2026年5月成立生態系統安全團隊;Volker Dusch 擔任 AI 安全工程師駐留職位以改善溝通;Alexandre Daubois 和 Daniel Scherzer 分別於7月和9月加入協助分診、處理報告及強化工作。此外,PHP 基金會引入了 Alpha-Omega、OpenAI Daybreak Red 等工具進行掃描與驗證,並參與 Patch the Planet 計畫。

關於披露過程:協調披露在目標發布日期前2天出現洩漏。10月20日約 UTC 15:00,兩個 CVE ID 開始在線上論壇和社群媒體流傳,伴隨錯誤的發布時間和錯誤的 CVSS 分數 10.0(實際為 9.2)。PHP 專案因此提前於 UTC 19:30 發布預公告,並將發布時間從 10月22日提前至 10月21日。Calif 誤發了一段影片,Chainguard 則在協調發布前六小時單方面打破禁運期發布了包含修復的映像檔,被批評無視多方數週的努力。

PHP 基金會強調,雖然工具能更快發現錯誤,但決定正確修復方案、權衡相容性取捨及審查補丁仍需具備深厚 PHP 程式碼知識的工程師。目前這類工程師數量過少,基金會呼籲依賴 PHP 的企業、託管服務商、雲端平台、發行版及政府機構提供持續資金支持,以確保能可持續地解決結構性安全問題。

尚待確認:CVSS 分數在洩漏時被錯誤報導為 10.0,實際確認為 9.2。

尚待確認:Chainguard 打破禁運期的具體動機未在原文中詳細說明,僅描述其行為及社群反應。

尚待確認:Calif 誤發影片的具體內容細節有限,僅知展示了 PoC 並揭示了少量額外細節。

事件背景

2024年,PHP 進行了多年來的首次外部安全審計。PHP 基金會從 Sovereign Tech Agency 獲得資金,透過 OSTIF 組織了由 Quarkslab 進行的審計。在修復 Quarkslab 報告的一個問題時,PHP 核心開發者發現了 CVE-2026-109618 背後 OOM 問題的最初跡象。當時理論上可能存在利用方式,但未找到具體向量。

2026年7月30日,作為 Patch the Planet 計畫的一部分,安全公司 Calif 開始對 PHP 進行審計。8月11日,Calif 研究員 Ryan A 報告了與 OOM 問題相同根本原因的無條件遠端程式碼執行。同日 OpenAI 獨立報告了相同根本原因,隨後 OpenAI 於9月18日、Wiz 於8月24日提供了更多攻擊向量。Trail of Bits 也在近期對 PHP 進行審計。

隨著 AI 輔助研究的增長,PHP 安全團隊收到的報告數量大幅增加。自7月1日以來,團隊已發布15個 CVE,並處理了超過100份無效、重複或無法重現的報告。AI 協助驗證報告和分組相同根本原因的報告,但最終判斷和補丁工作均由人工完成。

社群觀察

社群討論集中在披露過程中的混亂及各方行為: - 用戶 dannyw 對 Calif 在洩漏後誤發行銷影片感到驚訝,認為這顯示了該安全公司處理方式的意外。 - 用戶 fg137 指出 Calif 和 Chainguard 打破規則的行為不會是最後一次,因為若無後果,人們會繼續這樣做。 - 用戶 ernubufiei 批評 Chainguard 單方面打破禁運期的行為令人震驚,認為即使面對混亂也難以找到正當理由。 - 用戶 adithyassekhar 提到 4chan 因相關事件關閉超過24小時,稱讚其負責任的態度。 - 用戶 dang 提供了相關連結,包括 PHP 8.2.35 的討論、AI 發現 PHP 關鍵 RCE 的新聞以及關於 session.upload_progress 堆疊 UAF 漏洞的技術討論。