跳到正文
CVE news(thehackernews.com)·· 16 小時前精選AI 評分84

PHP Windows 套件因 Brotli 漏洞被快速修補,提醒開發者即時升級

PHP Issues Second Windows Security Update in Five Days to Fix Brotli Code Execution Flaw

AI 導讀

PHP 官方釋出 Windows 套件 8.2‑8.5 的新版本,以修補 CVE‑2026‑111497,該漏洞位於 Brotli 壓縮庫,可能導致記憶體破壞與遠端程式執行。

推薦理由

此公告說明 PHP Windows 套件因 Brotli 漏洞被快速修補,提醒開發者即時升級以避免遠端執行風險。

正文 · AI 翻譯

Swati KhandelwalOct 26, 2026漏洞 / 網路安全

PHP 已重新編譯其官方 Windows 套件,從 PHP 8.2 到 8.5,以修復 CVE-2026-111497,該漏洞位於套件所包含的 Brotli 壓縮庫。此缺陷可能使攻擊者破壞記憶體並可能執行程式碼。

PHP 說 此漏洞可透過 cURL 擴充功能觸發,當該擴充功能自動解壓 HTTP 回應時。cURL 預設關閉此功能,但應用程式與 HTTP 客戶端函式庫可啟用。

這些重新編譯的套件編號為 8.5.12-1、8.4.27-1、8.3.36-1 與 8.2.35-1,於 10 月 21 日釋出修復兩個 PHP2Shell 遠端程式執行漏洞 之後五天發布。它們使用相同的 PHP 原始碼,因此原有修復仍在,且現在包含已修正的 Brotli 1.2.1。

PHP 釋出了 軟體物料清單,列出每個套件內部的元件。針對上週所有四個版本的 x64 非執行緒安全建置,清單顯示 Brotli 1.2.0 為受影響版本之一。

PHP 建議 Windows 使用者 從其 下載頁面 安裝新建置。由於 PHP 版本本身未變更,php -v 在前後保持相同。檔名中的 -1 與 php-8.5.12-1-nts-Win32-vs17-x64.zip 以及下載頁面列出的 SHA-256 雜湊值皆可辨識新建置。

自動解壓表示 cURL 會請求伺服器傳回壓縮回應並將其解開。在 PHP 程式碼中,CURLOPT_ENCODING 選項 會啟用此功能,空值則接受 cURL 所支援的所有格式。

Guzzle(PHP HTTP 客戶端函式庫)根據其 7.16.1 版 與 8.3.1 的程式碼,預設為透過 cURL 傳送的請求設定空值。根據此程式碼與 PHP 本身的說明,保持 Guzzle 預設設定的應用程式符合在上週 Windows 建置上觸發漏洞的條件。Hacker News 尚未在 Windows 系統上進行測試。

攻擊將以經過精心設計的壓縮回應形式從 PHP 應用程式所連線的伺服器傳送。

Google 將此漏洞評為 9.2 / 10,或在 CVSS 4.0 等級中為 Critical。Red Hat 評為 8.1,或在 CVSS 3.1 等級中為 Important。

Imperva 研究員在一個官方 Node.js 建置上透過此漏洞執行程式碼,並且需要多次嘗試。PHP 的公告並未提及任何攻擊。CISA 在 10 月 23 日的評估中未記錄到利用,且該漏洞在當日更新時並未列入其 已知利用漏洞目錄。

OpenAI 的研究人員發現了此漏洞。Google 在 10 月 21 日首次披露時已於 Brotli 1.2.1、1.1.1 與 1.0.10 修補。Node.js、Bun 以及其他內建自己版 Brotli 的軟體也已發布修正。

PHP 的公告未提供尚無法升級系統的替代方案。OpenAI 建議 在更新安裝前,關閉 HTTP 客戶端中的自動 Brotli 解壓功能。

在 PHP 程式碼中,依循此建議即不設定 CURLOPT_ENCODING,因為 cURL 在未設定時不會解壓回應。在 Guzzle 中,則需將 decode_content 請求選項 設為 false,以停止所有自動解碼,導致 gzip 回應亦以壓縮形式傳送。

覺得這篇文章有趣嗎? 追蹤我們的 Google News、Twitter 和 LinkedIn,閱讀更多我們發布的獨家內容。

來源: CVE news (thehackernews.com)
開啟原文