Microsoftは10月25日(現地時間)、.NET October 2026 Out-of-Band Security Updatesにおいて、.NET 8、.NET 9、.NET 10向けに定例外(Out-of-Band:OOB)のセキュリティ更新プログラムを公開した。次期バージョンの.NET 11についても、修正を含むRelease Candidate 3(RC3)を公開している。

今回の更新では、データ圧縮形式「Brotli」の展開処理に存在する脆弱性「CVE-2026-111497」を修正した。同脆弱性は「HTTP2Shell」「Node2Shell」とも呼ばれ、悪用されると情報漏えいやサービス拒否(DoS)、権限昇格につながる可能性がある。

Microsoftは、できるだけ早く更新プログラムを適用するよう推奨している。

「HTTP2Shell」とは? Brotliの展開処理に脆弱性

CVE-2026-111497は、Brotliの圧縮データを展開する処理に存在するバッファオーバーフローの脆弱性。認証されていない攻撃者がプロセスのメモリを読み取ったり、破壊したりする可能性がある。

.NETでは、Windows、macOS、Linuxの各プラットフォームでBrotliが利用されている。Microsoftによると、ASP.NET Coreのリクエスト展開機能、HttpClientのレスポンス自動展開機能、System.IO.CompressionのBrotli APIなどを通じて、圧縮データを処理するアプリケーションが影響を受ける可能性がある。

ただし、.NETではリクエスト展開とレスポンス自動展開の機能は既定で無効になっている。また、Windows専用の.NET Frameworkは今回の脆弱性の影響を受けない。

今回の更新では、Linux向けの.NET配布ファイルに関する脆弱性「CVE-2026-114148」も修正した。これは、一部のtarballに含まれる所有権のメタデータが安全ではなく、ローカルの攻撃者がファイルを改ざんし、権限を昇格できる可能性がある問題。

さらに、10月13日に公開された更新プログラムでは修正が不十分だった「CVE-2026-70197」と「CVE-2026-102870」についても、追加の修正が行われた。

PowerShellやVisual Studioも更新、自己完結型アプリは再ビルドが必要

今回公開された.NETの修正版は以下の通り。

製品 修正版
.NET 8 8.0.33
.NET 9 9.0.22
.NET 10 10.0.14
.NET 11 Release Candidate 3

また、関連製品のVisual StudioやPowerShellについてもセキュリティ更新プログラムが提供されている。

製品 修正版
Visual Studio 2026 18.11.2
Visual Studio 2022 17.14.43
Visual Studio 2019 16.11.61
PowerShell 7.6 7.6.9
PowerShell 7.5 7.5.13
PowerShell 7.4 7.4.22

.NETランタイムを外部から利用するアプリケーションの場合、修正版ランタイムをインストールしてアプリケーションを再起動することで対応できる。

一方、ランタイムを同梱する自己完結型アプリケーションでは、OS側のランタイムを更新するだけでは脆弱性を解消できない。修正版ランタイムを使用してアプリケーションを再ビルドし、再公開する必要がある。

コンテナ環境についても、更新済みの.NETコンテナーイメージを使用した再ビルドと再デプロイが求められる。

Microsoftは、インストールされている.NETランタイムのバージョンを確認する方法として、以下のコマンドを案内している。

dotnet --list-runtimes