在電腦前寫程式的人
示意圖,取自本站既有圖庫,來源與授權見關於頁。
資安Microsoft.NETBrotli

微軟 .NET 例外更新修 Brotli 解壓縮漏洞 CVE-2026-111497:.NET 8 到 11、PowerShell、Visual Studio 都列在受影響清單,10 月例行更新另有兩個漏洞沒修完整

微軟 10 月 25 日(美國時間,台灣時間 26 日凌晨)在例行的每月更新之外,發布 .NET 8、9、10 與 .NET 11 RC3 的安全更新,主修 CVE-2026-111497:.NET 使用的 Brotli 解壓縮演算法有緩衝區溢位,未經認證的攻擊者可能讀取或破壞程序記憶體。微軟安全回應中心(MSRC)給的 CVSS 3.1 評分是 8.1、嚴重性「重大」(Critical),可利用性評估為「較可能遭利用」;尚未發現遭利用,但細節已公開。修補版本是 .NET 8.0.33、9.0.22、10.0.14,.NET 11 RC2 的使用者要升到 RC3。

漏洞出在 Google 的開源 Brotli 函式庫本身。CVE 紀錄由 Google 發布:Brotli 解碼器(c/dec/decode.c)遇到特製的壓縮資料會寫出緩衝區邊界,受影響的是 1.0.3 以上未滿 1.0.10、1.1.0、1.2.0 三段版本,各分支修補版為 1.0.10、1.1.1 與 1.2.1;Google 給的 CVSS 4.0 評分是 9.2。紀錄 10 月 22 日公開,引用的是 Node.js 10 月 21 日的安全更新:Node.js 22.x、24.x、26.x 內建的 Brotli 解碼器同樣受影響,已在 22.23.4、24.22.1、26.12.1 修補,Node.js 公告列的回報者是 OpenAI Codex Security 的兩位研究人員。美國網路安全暨基礎設施安全局(CISA)10 月 23 日在紀錄上的評估是「未見利用」。

哪些程式會碰到

.NET 部落格說,應用程式若透過 ASP.NET Core 的請求解壓縮、HttpClient 的自動回應解壓縮,或 System.IO.Compression 的 Brotli API 處理 Brotli 壓縮資料,就可能受影響;前兩項預設沒有開啟。.NET Framework 不受影響。MSRC 的受影響產品清單比部落格長,還包括 PowerShell 7.4、7.5、7.6(修補版 7.4.22、7.5.13、7.6.9),以及 Visual Studio 2019 16.11、2022 17.14 與 2026 的 18.11、18.12 預覽版。

同一批更新另修兩件事。CVE-2026-114148 是 Linux 版 .NET 壓縮檔的檔案擁有者資訊不安全,本機攻擊者可藉此改檔提權,評分 7.8;.NET 10、11 只影響從原始碼建置(source-build)用的壓縮檔,.NET 8、9 則連用 ASP.NET Core 壓縮檔安裝的人也受影響,即使沒有自行從原始碼建置。另外,微軟重新發布 CVE-2026-70197(SocketAsyncEventArgs 記憶體損毀)與 CVE-2026-102870(Blazor WebAssembly 偵錯器)兩份公告,理由是 10 月 13 日的例行更新「沒有完全處理」這兩個問題(本站譯),這次的版本才補齊。

怎麼更新

部落格分五種情況:依賴共用執行環境的程式,裝新版 runtime 後重新啟動;自帶執行環境(self-contained)的程式,主機裝新版沒有用,要用新版重新建置、發布;容器要改用新版 .NET 映像檔重建、重新部署;從原始碼建置的,取得新版原始碼產物重建;.NET 8、9 用 ASP.NET Core 壓縮檔安裝的,改用重新發布的壓縮檔更新。可以用 dotnet --list-runtimes 查主機上裝了哪些版本,自帶執行環境的程式與容器要另外檢查。

原文 .NET Blog〈.NET October 2026 Out-of-Band Security Updates〉(2026-10-25),修補版本、受影響的 API、.NET Framework 不受影響、兩個重新發布的公告與更新步驟取自此頁;MSRC CVE-2026-111497 與 CVE-2026-114148,評分、嚴重性、可利用性評估、PowerShell 與 Visual Studio 的受影響版本取自 MSRC 更新指南;CVE-2026-111497 紀錄,Brotli 受影響與修補版本、CVSS 4.0 評分、公開日與 CISA 評估取自該紀錄;Node.js 10 月 21 日安全更新公告,Node.js 修補版本與回報者取自此頁。