CVE-2026-66799は、Windows Key Guardに存在するヒープベースのバッファーオーバーフローにより、ローカルの低権限ユーザーが権限を昇格できる脆弱性です。Microsoftは2026年8月11日のセキュリティ更新で修正しています。
対処方法は、使用中のWindows 11に応じて、KB5120240、KB5121003、KB5121000のいずれか、またはそれ以降の累積更新プログラムを適用することです。更新後は再起動し、次のOSビルド以上になっているか確認してください。
- Windows 11 23H2:22631.7517以上
- Windows 11 24H2:26100.9168以上
- Windows 11 25H2:26200.9168以上
- Windows 11 26H1:28000.2704以上
該当KBが更新履歴に見当たらなくても、同じWindowsバージョンで基準より新しいビルドになっていれば、後続の累積更新に修正が含まれています。本記事では、対象端末の見分け方、更新手順、適用後の確認方法、企業環境で失敗しやすいポイントまで具体的に解説します。
Windows Key GuardのCritical脆弱性CVE-2026-66799とは
CVE-2026-66799は、Windows Key Guardに存在するヒープベースのバッファーオーバーフローです。Microsoftが公開した説明では、認証済みの攻撃者がローカル環境で権限を昇格できる脆弱性とされています。
CVEレコードに示された主な情報は次のとおりです。
| 項目 | 内容 |
|---|---|
| CVE番号 | CVE-2026-66799 |
| 対象コンポーネント | Windows Key Guard |
| 脆弱性の種類 | ヒープベースのバッファーオーバーフロー |
| CWE | CWE-122 |
| 想定される影響 | ローカルでの権限昇格 |
| 攻撃元 | ローカル |
| 必要な権限 | 低い権限が必要 |
| ユーザー操作 | 不要 |
| CVSS v3.1 | 7.8、High |
| Microsoftの深刻度 | Critical |
| 修正公開日 | 2026年8月11日 |
CVSSベクトルはAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hです。攻撃には端末上でのローカルアクセスと低い権限が必要ですが、攻撃の複雑さは低く、利用者による追加操作も必要ありません。悪用に成功した場合、機密性、完全性、可用性のすべてに大きな影響が及ぶ可能性があります。(NVD)
CriticalとCVSS 7.8のHighは矛盾しない
CVE-2026-66799については、Microsoftの製品別深刻度ではCriticalとして扱われる一方、CVSS v3.1の基本値は7.8でHighに分類されています。
これは評価方法が異なるためです。
CVSSは、攻撃条件や影響を共通の基準で数値化します。一方、Microsoftの深刻度は、Windows製品における影響や悪用された場合の結果なども踏まえて決定されます。そのため、Microsoftの深刻度がCriticalで、CVSSがHighになることはあります。(Microsoft セキュリティレスポンスセンター)
「CVSSが10.0ではないから急がなくてよい」と判断するのは適切ではありません。低権限ユーザーから、より高い権限へ移行できる可能性があるため、端末侵害後の攻撃拡大に使われる危険があります。
Windows Key Guardが担う役割
Windows Key Guardは、仮想化ベースのセキュリティで分離された領域に置かれる暗号鍵の保護に関わるWindowsのセキュリティ機構です。
Windowsでは、VBSと呼ばれる仮想化ベースのセキュリティを利用し、通常のWindows環境から分離した領域で認証情報や暗号鍵を保護できます。Credential Guardも同様に、NTLMハッシュやKerberosチケットなどの重要なシークレットを分離して保護する仕組みです。(Microsoft Learn)
CVE-2026-66799は、このような重要な鍵の保護に関係するWindowsコンポーネントで発生します。そのため、単なるアプリケーションのクラッシュではなく、OS全体のセキュリティ境界に影響する問題として扱う必要があります。
ローカル脆弱性でも優先度を下げない
CVE-2026-66799は、インターネットから直接攻撃できるリモートコード実行の脆弱性ではありません。しかし、ローカル攻撃であることは、安全であることを意味しません。
例えば、次のような攻撃の連鎖が考えられます。
- 不正な添付ファイルやダウンロードファイルから、一般ユーザー権限でマルウェアが実行される
- マルウェアがCVE-2026-66799を悪用して権限を昇格する
- セキュリティ設定の変更、資格情報へのアクセス、ログの削除などを試みる
- 社内ネットワーク内の別端末やサーバーへ攻撃を拡大する
これは想定される攻撃シナリオであり、特定の攻撃活動が確認されたことを意味するものではありません。ただし、端末への最初の侵入と権限昇格を組み合わせる手法は一般的です。
特に、開発者用PC、管理者が利用するPC、共有端末、VDI、外部からファイルを受け取る端末は優先して更新してください。
Windows 11の対象バージョンと修正KB
Windows 11のバージョンごとの修正KBと基準となるOSビルドは次のとおりです。
| Windows 11のバージョン | 修正KB | 修正済みOSビルド | 対応済みの判断基準 |
|---|---|---|---|
| 23H2 | KB5120240 | 22631.7517 | 22631.7517以上 |
| 24H2 | KB5121003 | 26100.9168 | 26100.9168以上 |
| 25H2 | KB5121003 | 26200.9168 | 26200.9168以上 |
| 26H1 | KB5121000 | 28000.2704 | 28000.2704以上 |
Microsoftのサポート情報では、KB5120240はWindows 11 23H2をOSビルド22631.7517へ、KB5121003は25H2を26200.9168、24H2を26100.9168へ更新します。KB5121000はWindows 11 26H1を28000.2704へ更新します。(マイクロソフトサポート)
古いKBを個別に探す必要がない場合もある
Windowsの品質更新プログラムは累積型です。新しい累積更新には、それ以前に公開された修正が含まれます。(Microsoft Learn)
例えば、Windows 11 24H2でOSビルドが26100.9300になっている場合、KB5121003そのものが更新履歴に表示されていなくても、基準となる26100.9168より新しいため、通常はCVE-2026-66799の修正を含んでいます。
判断するときは、次の順序で確認します。
- Windowsのバージョンが23H2、24H2、25H2、26H1のどれかを確認する
- 同じバージョンに対応する基準ビルドを確認する
- 現在のOSビルドが基準以上か比較する
異なるバージョン間でビルド番号だけを比較してはいけません。例えば、23H2の22631.7517と24H2の26100.9168は、別の更新ブランチです。
WindowsのバージョンとOSビルドを確認する方法
winverで確認する
最も簡単なのは、winverコマンドを使用する方法です。
WindowsキーとRキーを押す- 「ファイル名を指定して実行」に
winverと入力する - 「OK」をクリックする
- 表示されたバージョンとOSビルドを確認する
例えば、次のように表示されます。
バージョン 24H2
OS ビルド 26100.9168
この場合は、Windows 11 24H2の基準である26100.9168に到達しているため、CVE-2026-66799への対応は完了しています。
Windowsの設定から確認する
Windows 11では、次の場所からも確認できます。
設定
└ システム
└ バージョン情報
└ Windowsの仕様
「バージョン」と「OSビルド」の両方を記録してください。
PowerShellで確認する
複数項目をまとめて確認する場合は、PowerShellで次のコマンドを実行します。
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
"{0} {1}(OSビルド {2}.{3})" -f `
$cv.ProductName,
$cv.DisplayVersion,
$cv.CurrentBuildNumber,
$cv.UBR
実行結果の例は次のとおりです。
Windows 11 Enterprise 24H2(OSビルド 26100.9168)
確認だけであれば、通常は管理者権限でPowerShellを起動する必要はありません。
CVE-2026-66799の修正KBを導入する手順
Windows Updateからインストールする
個人PCや少数の端末では、Windows Updateを使用するのが最も安全です。
- 「設定」を開く
- 「Windows Update」を選択する
- 「更新プログラムのチェック」をクリックする
- 利用可能な累積更新プログラムをインストールする
- Windowsを再起動する
winverでOSビルドを再確認する
KB5120240、KB5121003、KB5121000は、Windows Update、Windows Update for Business、Microsoft Update Catalog、WSUSなどを通じて配布されます。(マイクロソフトサポート)
「最新の状態です」と表示されても、OSビルドが基準に達しているかを必ず確認してください。更新の一時停止、管理ポリシー、再起動待ちなどにより、表示と実際の適用状態が一致しない場合があります。
企業環境では段階展開する
多数の端末を管理している場合は、すべての端末へ同時配信するのではなく、短期間の段階展開が現実的です。
| 展開段階 | 対象 | 確認内容 |
|---|---|---|
| 検証 | IT部門、検証端末 | 起動、認証、VPN、業務アプリ、ドライバー |
| 先行展開 | 部門ごとの代表端末 | 実運用でのアプリ互換性と再起動 |
| 全体展開 | 残りの端末 | 適用率、失敗端末、再起動待ち |
| 事後確認 | 全端末 | バージョン別のOSビルドと未対応端末 |
Criticalに分類される脆弱性であるため、検証を理由に長期間保留するのは避けてください。代表的なハードウェアと業務アプリで確認した後、展開範囲を速やかに拡大します。
また、更新ファイルの配信だけで完了とせず、再起動期限も設定してください。更新がダウンロード済みでも、再起動が終わるまで新しいコンポーネントが有効にならないことがあります。
Microsoft Update Catalogから手動導入する
Windows Updateを利用できない端末や、閉域環境へ更新を持ち込む場合は、Microsoft Update Catalogを利用します。
手動導入では、次の情報を一致させる必要があります。
- Windows 11のバージョン
- x64またはArm64のアーキテクチャ
- KB番号
- 更新プログラムの依存関係
- 適用対象が実行中のOSか、展開用イメージか
24H2、25H2、26H1向けのスタンドアロンパッケージでは、複数のMSUファイルが含まれ、指定された順序での導入が必要になることがあります。Microsoftは、必要なMSUファイルを同じフォルダーへ配置し、DISMに依存パッケージを検出させる方法を案内しています。(マイクロソフトサポート)
管理者としてコマンドプロンプトを起動し、パッケージを配置したフォルダーを指定する例は次のとおりです。
DISM /Online /Add-Package /PackagePath:C:\Packages
実際のファイル構成や導入順序は、対象KBのMicrosoftサポート情報に従ってください。第三者のダウンロードサイトからMSUファイルを入手するのは避けます。
展開用Windowsイメージを更新するときの注意点
通常のWindows Updateではなく、インストールメディアや展開用イメージへDynamic Updateを統合する場合は、boot.stlの扱いに注意が必要です。
Microsoftは、OSのバージョンとアーキテクチャに一致するboot.stlを含めないと、更新したメディアが0xc0430001で起動できなくなる可能性があると案内しています。これは一般利用中のPCへの通常更新ではなく、展開イメージを保守する管理者向けの注意事項です。(マイクロソフトサポート)
適用後にCVE-2026-66799への対応を確認する
OSビルドで判定する
最も確実で運用しやすい方法は、KB番号の有無ではなく、WindowsのバージョンとOSビルドを組み合わせて確認することです。
次のPowerShellスクリプトを実行すると、現在の端末が基準ビルドに達しているか判定できます。
try {
$cv = Get-ItemProperty `
'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' `
-ErrorAction Stop
$os = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop
$requiredBuilds = @{
'23H2' = [version]'22631.7517'
'24H2' = [version]'26100.9168'
'25H2' = [version]'26200.9168'
'26H1' = [version]'28000.2704'
}
$baseBuild = if ($cv.CurrentBuildNumber) {
$cv.CurrentBuildNumber
}
else {
$cv.CurrentBuild
}
$currentBuild = [version](
'{0}.{1}' -f $baseBuild, $cv.UBR
)
$requiredBuild = $requiredBuilds[$cv.DisplayVersion]
$status = if ($null -eq $requiredBuild) {
'対象外またはMSRCで要確認'
}
elseif ($currentBuild -ge $requiredBuild) {
'対応済み'
}
else {
'未対応'
}
[pscustomobject]@{
ComputerName = $env:COMPUTERNAME
Windows = $os.Caption
Version = $cv.DisplayVersion
CurrentBuild = $currentBuild.ToString()
RequiredBuild = if ($requiredBuild) {
$requiredBuild.ToString()
}
else {
'-'
}
LastBoot = $os.LastBootUpTime
Status = $status
}
}
catch {
Write-Error "Windows情報の取得に失敗しました: $($_.Exception.Message)"
}
実行結果の例です。
ComputerName : PC-001
Windows : Microsoft Windows 11 Enterprise
Version : 24H2
CurrentBuild : 26100.9168
RequiredBuild : 26100.9168
LastBoot : 2026/08/12 7:32:10
Status : 対応済み
このスクリプトは、2026年8月に公開された基準ビルドとの比較を行います。Microsoftが対象製品や修正情報を改訂した場合は、最新のMSRC情報を優先してください。
更新履歴も補助的に確認する
Windowsの画面では、次の場所から適用済み更新を確認できます。
設定
└ Windows Update
└ 更新の履歴
└ 品質更新プログラム
PowerShellでは、次のコマンドで最近の修正プログラムを確認できます。
Get-HotFix |
Sort-Object InstalledOn -Descending |
Select-Object -First 10 `
HotFixID, InstalledOn, Description
ただし、Get-HotFix -Id KB5121003で何も表示されないことだけを理由に、未対応と判断してはいけません。
後続の累積更新プログラムを導入している場合、元のKB番号が個別に残らないことがあります。最終判定にはOSビルドを使用してください。
再起動日時を確認する
更新適用後に再起動したか不明な場合は、次のコマンドで最終起動日時を確認できます。
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
更新プログラムのインストール日時より最終起動日時が古い場合は、再起動待ちになっていないか確認します。
KB5121003の既知の問題
Windows 11 24H2および25H2向けのKB5121003では、RGBライティング関連の周辺機器や内部部品を使用している一部の環境で、ゲームが応答しなくなる問題が報告されました。
影響する環境では、inpoutx64に似た名前のドライバーが関係し、次のような症状が発生する場合があります。
- ゲームが応答しなくなる
- ゲームが予期せず終了する
EXCEPTION_ACCESS_VIOLATIONが発生する- Windowsが再起動する
Microsoftは、影響する端末で該当ドライバーの読み込みを防ぐブロックによって解決すると説明しています。個人利用端末や管理されていない業務端末には自動的に適用されますが、企業管理端末ではWindows release healthに示される管理者向け対応が必要になる場合があります。(マイクロソフトサポート)
この既知の問題を理由に、CVE-2026-66799の修正を長期間見送るべきではありません。対象ドライバーの利用状況を確認し、必要な回避策を準備したうえで更新を展開するのが適切です。
更新時に失敗しやすいポイント
| 失敗しやすい判断 | 問題点 | 正しい対応 |
|---|---|---|
| 指定KBが見つからないので未対応と判断する | 後続の累積更新で置き換えられている場合がある | 同じWindowsバージョンのOSビルドで判定する |
| Windowsのバージョンを確認せずビルドだけ比較する | 23H2、24H2、25H2、26H1では更新ブランチが異なる | バージョンとビルドをセットで記録する |
| 更新を配信した時点で完了扱いにする | ダウンロード済みでも再起動待ちの場合がある | 再起動後のビルドを収集する |
| ローカル脆弱性なので後回しにする | 侵入済みマルウェアの権限昇格に利用され得る | 高価値端末や共有端末から優先して更新する |
| x64とArm64を確認せず手動導入する | 「この更新プログラムはお使いのコンピューターには適用できません」となる | OSのバージョンとアーキテクチャを確認する |
| 複数のMSUを無関係な場所に保存する | 依存パッケージをDISMが検出できない場合がある | 必要なMSUを同じフォルダーへ配置する |
| セキュリティ機能を無効化して代替する | 端末の防御力そのものを下げる | 機能停止ではなく累積更新を適用する |
展開イメージでboot.stlを省略する | 更新後のメディアが起動できなくなる可能性がある | OSとアーキテクチャに一致するファイルを統合する |
更新できない端末で行う一時的な対策
業務上の事情で直ちに再起動できない場合でも、更新を無期限に延期してはいけません。更新までの一時的な防御として、次の対策を組み合わせます。
- 一般ユーザーによる未承認アプリケーションの実行を制限する
- インターネットから取得した実行ファイルやスクリプトを監視する
- ローカル管理者権限の付与状況を見直す
- EDRやMicrosoft Defenderのアラートを確認する
- 管理用端末からメール閲覧や一般的なWeb閲覧を分離する
- 再起動可能な日時を決め、更新期限を設定する
これらはCVE-2026-66799を修正するものではありません。累積更新を適用するまでのリスク低減策として扱ってください。
CVE-2026-66799に関するよくある疑問
Windows Updateを最新にすれば対応できるか
同じWindowsバージョンで、基準ビルド以上の累積更新が適用されていれば対応できます。
更新後は「最新の状態です」という表示だけで判断せず、winverでOSビルドを確認してください。
指定されたKBを個別にインストールする必要はあるか
すでに後続の累積更新が導入されている場合、古いKBを個別にインストールする必要はありません。
例えばWindows 11 25H2で、OSビルドが26200.9168より新しければ、KB5121003以降の修正を含むと判断できます。Windowsの累積更新には、それ以前の更新内容が含まれます。(Microsoft Learn)
KB番号とOSビルドのどちらを重視すべきか
最終的な端末の対応確認では、OSビルドを重視します。
KB番号は配布した更新を追跡するために便利ですが、後続更新による置き換えやイメージ更新などにより、特定のKB番号が確認できない場合があります。
Key Guardを無効にすれば回避できるか
自己判断でWindowsの鍵保護やVBS関連機能を無効化する方法は推奨できません。セキュリティ境界を弱め、新たなリスクを生む可能性があります。
Microsoftが提供する累積更新を導入し、修正済みビルドへ更新する方法を優先してください。
ローカル攻撃なので外部からは悪用されないか
ネットワーク経由で脆弱性へ直接アクセスするタイプではありません。ただし、フィッシング、悪意あるダウンロード、別の脆弱性などで端末へ侵入した攻撃者が、次の段階として利用する可能性があります。
そのため、インターネットへ直接公開していない社内PCも更新対象です。
今すぐ行うべき対応
CVE-2026-66799への対応では、次の4点を実施してください。
winverでWindows 11のバージョンとOSビルドを確認する- KB5120240、KB5121003、KB5121000、またはそれ以降の累積更新を導入する
- Windowsを再起動する
- 同じWindowsバージョンの基準ビルド以上になったことを記録する
基準は、23H2が22631.7517、24H2が26100.9168、25H2が26200.9168、26H1が28000.2704です。
企業環境では、KBの配信実績だけでなく、端末ごとのWindowsバージョン、現在のOSビルド、最終起動日時、対応状況を収集します。指定KBの存在確認だけに頼らず、ビルドベースで管理することが、後続の累積更新にも対応できる確実な運用方法です。

コメント