Windowsカーネルに存在する重大な脆弱性がCVE-2026-40369として公開され、権限を持たない攻撃者が完全な決定論的手法で直接NT AUTHORITY\SYSTEMへ昇格できることが判明しました。
この脆弱性を発見したのは研究者のOri Nimron氏で、Pwn2Own Berlin 2026向けに完全に動作するエクスプロイトを構築しましたが、会場の定員制限により参加を断られ、その後エクスプロイトチェーン全体を公開しました。
この脆弱性はntoskrnl.exe内のExpGetProcessInformationに存在し、情報クラス253(SystemProcessInformationExtensionとして知られる)を指定したNtQuerySystemInformationを通じてトリガーされます。
この攻撃は、互いに複合する2つの独立した欠陥を悪用します。呼び出し元がシステムコールにLength=0を渡すと、ProbeForWriteガードが完全な無操作となります。その本体全体がif (Length)を条件としているため、生のカーネルモードアドレスを含むあらゆるポインターが検証ゼロで通過してしまうと、pwn2nimronは述べています。
同時に、クラス253はgoto文を通じてディスパッチされ、隣接するクラス5およびクラス252のコードパスで正しく使用されているポインターサニタイズ手順を意図的にスキップします。その結果、カーネルアドレスの直接的な任意インクリメントプリミティブが生じます。
システム上で実行中のすべてのプロセスに対し、カーネルは攻撃者が指定したアドレスにある3つのDWORDをインクリメントします。オフセット0にプロセス数、オフセット4に総スレッド数、オフセット8に総ハンドル数を累積します。
Length=0の場合、内部的にSTATUS_INFO_LENGTH_MISMATCHが生成されるにもかかわらず、関数は早期終了しません。すべての書き込みは無条件に実行され、エラーはすでにダメージが発生した後にのみ返されます。
この脆弱性を特に危険にしているのは、その到達可能性です。現代のブラウザーサンドボックス——Chrome、Edge、Firefox——はすべて、積極的なカーネル攻撃面の縮小を適用しています。
Chromeのレンダラーは、強く制限されたトークンを持つ非信頼の整合性レベルで動作しており、Win32kロックダウンによって従来のGDIおよびUSERの悪用面が排除されています。
しかし、ここではそれらはいずれも意味を持ちません。NtQuerySystemInformationは純粋なNTシステムコールであり、クラス253に対する特権チェックを一切持たず、制限付きトークンの影響を受けず、整合性レベルの強制によってもブロックされません。
侵害されたレンダラープロセスは、特別な準備なしにこのプリミティブを直接呼び出すことができ、JavaScriptエンジンのバグをたった1回のシステムコールで完全なカーネル書き込みプリミティブに変えることができます。
GitHubに公開されているエクスプロイトにはChromeサンドボックスエミュレーターのPoCが含まれており、5つのステージが連鎖しています。まず、ntoskrnlのベースアドレスがユーザーモードのプリフェッチサイドチャネル経由でリークされます(カーネルとのやり取りは不要)。
次に、クラス253のプリミティブを使用してCmpLayerVersionCountを破壊し、CmpLayerVersionsレジストリ配列内の有効なインデックス範囲を拡張します。続いてnullポインターエントリーを制御されたユーザーモード割り当てへ徐々にインクリメントし、情報クラス222と細工された偽のUNICODE_STRING構造体を通じて任意のカーネル読み取りを確立します。
第3段階では、任意読み取りでEPROCESSリンクリストを走査して現在のプロセストークンを特定します。第4段階では、クラス253のプリミティブを再度使用してtoken+0x42のバイトをインクリメントし、最終的に権限有効ビットマスクのビット20(SeDebugPrivilege)をセットします。
第5段階では、デバッグ権限が有効になった状態でwinlogon.exeを開き、CreateRemoteThread経由で272バイトのシェルコードを注入し、NT AUTHORITY\SYSTEMシェルを取得します。
このチェーン全体を通じて重要な要因となるのは、WindowsがSMAP(Supervisor Mode Access Prevention)を強制していないことです。LinuxとmacOSはハードウェアを使用して、保護を明示的に無効化せずにカーネルコードがユーザーモードメモリにアクセスした場合に即座に障害を発生させます。
一方Windowsは__try/__exceptソフトウェアガードに完全に依存しているため、破壊されたカーネルポインターはクラッシュを引き起こすことなく、攻撃者が制御するユーザーモードページへ自由に逆参照できます。
MicrosoftはWindowsへのSMAP強制の追加に取り組んでいるとOri Nimron氏は述べていますが、リリース日はまだ確定していません。
この脆弱性のCVSSスコアは7.8であり、重大度「高」の権限昇格(EoP)脆弱性に分類されます。MicrosoftはCVE-2026-40369を2026年5月12日にリリースされた2026年5月のパッチチューズデー更新プログラムで修正しました。
影響を受けるシステムにはWindows 11 24H2および25H2が含まれ、脆弱性が確認されているビルドは26200.8039、26200.8117、26200.8246、および26200.8328のほか、未特定バージョンのWindows Server 2025も対象となります。
研究コミュニティからすでに大きな注目を集めているGitHub上の公開PoCが存在することを踏まえ、パッチ未適用のWindows 11システムを運用している組織はこのアップデートを緊急扱いとすべきです。サンドボックス化されたブラウザータブを含む、あらゆる権限レベルのあらゆるプロセスが、実行可能な攻撃の起点となり得ます。
翻訳元: https://cyberpress.org/windows-kernel-flaw/