新聞

10月21日PHP開發團隊釋出重要安全性更新8.5.12、8.4.27、8.3.36,以及8.2.35版,修補兩個CVSS v4.0嚴重程度達到9.2分的重大漏洞CVE-2026-109618、CVE-2026-109619(統稱為PHP2Shell),一旦遭到利用,未通過身分驗證的攻擊者可遠端執行任何程式碼(RCE),強烈呼籲所有的PHP用戶要立即套用更新。PHP強調,所有處理網路請求的PHP系統都會曝險,包括PHP-FPM、配置mod_php的Apache主機、 php-cgi、FrankenPHP,以及LiteSpeed等,該團隊認為mod_php的風險最高,原因是已有展示如何利用漏洞的公開資訊,攻擊者只要在任何應用程式的程式碼執行前,發出未通過身分驗證的請求,就有機會觸發弱點。由於PHP廣泛於全球約七成網站使用,再加上在上述公告之前漏洞資訊已經外流,這些漏洞的修補工作,受到全球各地的高度關注。

針對這兩個漏洞形成的原因,CVE-2026-109618是記憶體耗盡(OOM)中斷造成,在內部請求資料僅部分初始化的狀態下,OOM的處理機制有可能造成PHP中斷運作,此時請求清除工作將會將無效的資料視為有效而出錯;另一個弱點CVE-2026-109619,則是過時全域狀態形成,請求擁有的內部狀態在其備份記憶體釋放後,仍會留存,一旦相同worker後續處理新的請求,就可能會在一般初始化重設之前使用前面留下來的過時狀態。

對於用戶如何修補漏洞,PHP指出有幾種方法,除了用戶手動升級PHP至最新版本,Linux用戶也要留意Linux發行版是否有相關公告及更新。8.1版以下的PHP無法直接從PHP專案取得相關更新,但有鑑於這些漏洞相當危險,開發團隊也移植相關修補程式碼到7.4、8.0、8.1版的原始碼,用戶可透過部分發行版或長期支援(LTS)服務廠商取得對應的修補程式,或是自行編譯原始碼進行修補。

若是用戶無法即時更新PHP,PHP提供了能減少曝露於特定攻擊路徑的措施,但也強調,這麼做無法讓PHP系統變得安全。