.NET 2026年8月サービス更新 — .NET 10・9・8の脆弱性修正と更新手順

概要

Microsoft は 2026年8月11日、.NET と .NET Framework の月例サービス更新を公開しました。今回の更新では .NET 10.0.11、.NET 9.0.19、.NET 8.0.30 が案内され、.NET 10 / 9 / 8 に関係する複数の CVE への修正が含まれています。1

定例更新は、アプリケーションコードを変更しない場合でも、ランタイム、SDK、ASP.NET Core、Entity Framework Core、コンテナベースイメージのバージョンが分かれて更新されることがあります。したがって、ホスト環境だけでなく、CI、Dockerfile、デプロイ定義、グローバルツール、依存パッケージを一つの変更単位として確認することが大切です。

対象ライン今回案内されたリリース確認すべき範囲
.NET 1010.0.11ランタイム、SDK、ASP.NET Core、EF Core、コンテナイメージ
.NET 99.0.19ランタイム、SDK、ASP.NET Core、EF Core、コンテナイメージ
.NET 88.0.30ランタイム、SDK、ASP.NET Core、EF Core、コンテナイメージ
.NET Framework2026年8月更新Windows更新と対象アプリケーションの互換性

なぜ「パッチ更新」をプロジェクトとして扱うのか

Microsoft の案内には、.NET 10、9、8 にまたがる CVE 修正が列挙されています。1 脆弱性の影響はアプリケーションの公開方式や利用機能で異なるため、すべてのサービスが同じ優先度になるとは限りません。しかし、稼働中のアプリケーションがどのランタイム・ベースイメージ・ホストで動くかを把握していなければ、影響の有無を判断できません。

更新の目的は「最新版を入れること」ではありません。 どのサービスがどの実行環境に依存しているかを可視化し、修正を適用したうえで、認証・API・バックグラウンドジョブ・データアクセスの回帰を確認することです。

特にコンテナ運用では、アプリケーションの TargetFramework を変更しなくても、FROM mcr.microsoft.com/dotnet/aspnetsdk イメージのタグを固定しているために古いパッチが残ることがあります。タグの更新、イメージの再ビルド、SBOMや脆弱性スキャンの更新を一連の手順に含めます。

更新前に作るべき棚卸し表

確認項目目的
実行ランタイムApp Service、VM、Kubernetes、コンテナ本番で実際に動くバージョンを特定する
ビルドSDKglobal.json、CIのセットアップ、開発環境ビルド再現性と開発・CI差異を防ぐ
ベースイメージaspnetruntimesdk のタグコンテナ内の修正適用を確認する
フレームワーク依存ASP.NET Core、EF Core、NuGetパッケージバイナリ互換性と回帰確認の対象を定める
デプロイ単位サービス名、環境、ロールバック方法段階的な公開と復旧を可能にする

安全な更新フロー

1. 現在のバージョンを固定して記録する

更新作業を始める前に、dotnet --info、コンテナイメージのダイジェスト、CIで使うSDK、各サービスの TargetFramework を記録します。更新後に問題が起きた場合、変更点を切り分け、必要なら速やかにロールバックできます。

2. 開発・CIを先に更新する

SDKを更新して dotnet restoredotnet builddotnet test を実行します。ソースジェネレーター、アナライザー、EF Coreの移行、OpenAPI生成、ネイティブ依存を持つテストは、環境差が現れやすいため重点的に確認します。

3. コンテナを再ビルドし、イメージを検査する

Dockerfile のベースイメージを更新し、キャッシュを利用しない再ビルドも行います。アプリケーションのバージョンとOSパッケージの更新状況を混同しないよう、イメージのダイジェストと脆弱性スキャン結果を保存します。

4. ステージングで回帰を確認する

認証、外部API連携、バックグラウンドジョブ、データベース接続、タイムゾーン、TLS、シリアライゼーションを確認します。ASP.NET Core アプリケーションでは、ルーティング、例外処理、レスポンスヘッダー、最も重要なAPIシナリオを自動テストと監視で確認すると効果的です。

5. 段階公開と監視を行う

一度に全インスタンスを置き換えず、カナリアまたは少数インスタンスから公開します。エラー率、レイテンシ、CPU、GC、メモリ、外部依存の失敗率を更新前のベースラインと比較し、問題があれば直前のイメージへ戻せる状態を維持します。

まとめ

2026年8月の .NET サービス更新は、.NET 10、9、8 のランタイムを利用するチームにとって、脆弱性対応の優先度を再確認する機会です。更新は小さなパッチ番号の変更に見えても、実際にはビルド、コンテナ、デプロイ、監視まで含む運用作業になります。対象を棚卸しし、CI、ステージング、段階公開の順に進めることで、セキュリティと安定運用を両立できます。

参考文献