技術 約4分で読めます

Microsoft が ASP.NET Core の権限昇格脆弱性 CVE-2026-40372 にパッチ

いけさん目次

Microsoft は 4 月 21 日、ASP.NET Core の Data Protection API における暗号署名検証の不具合を修正する緊急パッチをリリースした。
CVE-2026-40372 として追跡される本脆弱性は CVSS 9.1 と評価され、未認証での権限昇格が可能になる。

脆弱性の概要

CVE-2026-40372 は Microsoft.AspNetCore.DataProtection パッケージの Managed Authenticated Encryptor における暗号化検証ロジックの回帰に由来する。

項目内容
脆弱性種別暗号署名の不適切な検証(CWE-347)
CVSS v3.1 スコア9.1
攻撃ベクトルネットワーク(認証不要)
攻撃複雑性低(追加条件なし)
影響スコープ同一スコープ
機密性への影響高(トークン・認証情報の窃取)
完全性への影響高(トークン偽造)
可用性への影響なし

根本原因と攻撃メカニズム

Data Protection API の HMAC 検証ロジックは、次の3点で破綻している。

不具合内容
HMAC 計算範囲の誤りペイロードの一部だけを対象にハッシュ化していた
ハッシュ値の破棄計算した HMAC を検証で使わずに捨てていた
検証ルーチンの欠落MAC 検証をスキップできる遷移パスが残っていた

これらが重なることで、攻撃者はパディングオラクル攻撃を用いて保護されたペイロードを復号化し、不正な認証トークンを生成・発行できる状態になっていた。

想定される攻撃シナリオ

攻撃影響
認証クッキーの偽造既存クッキーを復号化して任意ユーザーになりすまし
アンチフォージェリ(CSRF)トークンの生成フォーム送信時の保護を回避し不正操作を実行
権限昇格管理者権限を持つトークンを生成して SYSTEM 相当のアクセスを獲得
API キー・パスワードリセットトークンの偽造長期有効なトークンを攻撃者が任意に発行

影響を受けるバージョン

コンポーネント脆弱版修正版備考
Microsoft.AspNetCore.DataProtection10.0.0 〜 10.0.610.0.7 以降全プラットフォーム
.NET 8.0.x影響なし不具合コードパスなし
.NET 9.0.x影響なし不具合コードパスなし

この回帰は .NET 10.0 の初期開発フェーズで混入したもので、.NET 8.x・9.x の servicing ブランチには存在しない。
そのため対象となるのは、Linux など非 Windows 環境で .NET 10.0 を実行中のアプリケーション。Windows ホストで動かしている ASP.NET Core 実行環境は、今回の回帰を踏まない構成になっている。

パッチと対応方法

項目内容
対応バージョンMicrosoft.AspNetCore.DataProtection 10.0.7 以降
リリース方式Out-of-band(臨時セキュリティ更新)
発行日2026 年 4 月 21 日

実装手順

# NuGet パッケージの更新
dotnet package update Microsoft.AspNetCore.DataProtection --version 10.0.7

# Visual Studio の Package Manager から
Update-Package Microsoft.AspNetCore.DataProtection -Version 10.0.7

適用後の確認

dotnet list package --include-transitive | grep DataProtection
# Microsoft.AspNetCore.DataProtection が 10.0.7 以降になっていることを確認

パッケージを差し替えただけでは旧コードのまま動き続けるプロセスが残るため、アプリケーション全体を再デプロイする。

実務で確認すべき点

既存トークンの有効性

パッチ適用後でも、脆弱期間中に発行された長期有効トークンは有効期限内なら受け入れられてしまう。
そのため、その期間に発行されたセッションクッキー、API キー、永続トークンの類はすべて再発行する。

Data Protection キーのローテーション

手順内容
監査〜2026 年 4 月 21 日に発行された長期有効トークンを洗い出す
キー再生成新しい Data Protection キーを生成
既存トークン無効化旧キーで発行されたトークンを失効させ、ユーザーに再認証を強制
有効期限の見直しセッション有効期限を短縮(例: 24 時間以下)するか検討

セキュリティログの確認

脆弱性悪用の痕跡を次の観点で見直す。

  • Web サーバーログで、攻撃者 IP から管理者領域への異常アクセスが残っていないか
  • セキュリティイベントログで、ユーザー権限が急に変更されていないか
  • 認証失敗ログで、オラクル攻撃の試行を示す大量の失敗が見当たらないか

現状と発見の経緯

実環境での悪用は現時点で報告されていない。ただし CVSS 9.1 の重大度を踏まえると、PoC や攻撃コードが公に出回るのは時間の問題と見たほうがいい。
発見者は匿名の研究者で、Microsoft への事前通知を経たうえでパッチがリリースされた。氏名や所属は公開情報からは確認できない。