Microsoftは、主力の開発プラットフォームの現行バージョンに対し、緊急の帯域外アップデートを公開しました。具体的には、.NET 8、9、10にパッチを適用し、あわせて.NET 11 Release Candidate 3ビルドも公開しています。今回の更新は、サーバーメモリの整合性を脅かす深刻な.NETのBrotli脆弱性を修正するものです。このメモリ破損の欠陥は、標準的なBrotli圧縮デコーダーに存在する重大な不具合が原因です。そのため、圧縮されたペイロードを処理するアプリケーションは、管理者が修正を適用しない限り、すぐに悪用されるリスクにさらされます。
解凍処理の欠陥と影響を受ける実行パス
この脆弱性はCVE-2026-111497として追跡されており、CVSSスコアは8.1と高く評価されています。攻撃者は細工したデータストリームを送信することで、解凍中にプログラムのメモリを破損させることができます。そのため、悪用に成功すると、情報の不正な漏えいや深刻なサービス拒否、システム権限の昇格につながるおそれがあります。なお、従来の.NET Frameworkのインストール環境は、この脆弱性の影響を受けません。
一方で、最新のアプリケーションは、特定のアーキテクチャ条件下で影響を受けます。Microsoftの.NETセキュリティに関する公式発表で指摘されているように、実行パスは展開形態によって異なります。たとえば、ASP.NET CoreでWebサービスがBrotliのリクエスト解凍を有効にしている場合にリスクが生じます。同様に、HttpClientで自動解凍を有効にしているアプリケーションや、System.IO.Compression APIを呼び出しているアプリケーションも、直接的な危険にさらされます。標準のフレームワークではこれらのオプションは既定で無効になっていますが、管理者は信頼できないストリームをただちに制限すべきです。
展開モデル別の対処方法
今回のセキュリティリリースでは、バージョン8.0.33、9.0.22、10.0.14、および11 RC3で修正済みのランタイムが配布されます。そのため、プレビュービルドを使用している開発チームは、速やかにアップグレードする必要があります。ただし、パッチを適用する前に、自社のソフトウェアの展開モデルを正確に把握しておかなければなりません。
ホストランタイム、自己完結型バイナリ、コンテナのパッチ適用
フレームワーク依存型のワークロードでは、ホストOSのランタイムを更新し、システムを再起動するだけで済みます。これに対し、自己完結型の実行ファイルは、実行エンジンのコピーを内部に含んでいます。そのため、エンジニアは更新済みの開発キットを使って、自己完結型バイナリを再コンパイルして再公開する必要があります。
コンテナ環境でも、同様に計画的なメンテナンスが求められます。基盤となるコンテナホストを更新しても、コンテナに組み込まれたライブラリは修正されません。DevOpsチームは、更新済みのベースイメージを取得し、稼働中のコンテナクラスターを再構築する必要があります。すべてのアプリケーション層で再構築を連携して実行することが、この脅威を完全に排除するための最終的な手段となります。
翻訳元: https://meterpreter.org/dotnet-brotli-vulnerability-patch/