Windows Kernel Streaming の脆弱性 CVE-2024-30090 が FIX:技術詳細と PoC も提供

Microsoft Windows Flaw: CVE-2024-30090 PoC Exploit Published, Posing SYSTEM Privilege Threat

2024/10/20 SecurityOnline — Microsoft の Kernel Streaming サービスに存在するお特権昇格の脆弱性  CVE-2024-30090 (CVSS:7.0) が、セキュリティ研究者の Angelboy (@scwuaptx) と DEVCORE により発見された。この脆弱性の悪用に成功した攻撃者は、脆弱な Windows システム上で SYSTEM 特権獲得の可能性を手にする。

Kernel Streaming とは、Windows のフレームワークのことであり、Web カメラ/マイク/オーディオ・デバイスなどの、各種デバイスからのデータ・ストリームを効率的に処理するためのものだ。

Angelboy の説明は、「Windows システムでは、Web カメラを開き、サウンドを有効化し、マイクなどのオーディオ・デバイスを起動する際に、キャプチャした画像や音声などのデータを、デバイス/メモリとの間で Read/Write する必要性が生じる。しかし、一般的な権限のプロセスでは、それらのデータ高速でコンピュータに読み込むことが不可能だ。そのため、Microsoft は、主にカーネル・モードで動作する Kernel Streaming と呼ばれるフレームワークを提供し、それらのデータを処理するようにしている」というものだ。

そして、脆弱性 CVE-2024-30090 がだが、Kernel Streaming サービス内の特権チェックの操作の競合状態に起因し、悪用される可能性が生じている。Microsoft は、CVE-2024-30090 のアドバイザリで、「この脆弱性の悪用に成功した攻撃者は、システム特権を獲得する可能性がある。この脆弱性を悪用する攻撃者は、競合状態を利用する必要がある」と説明している。

具体的に言うと、”nt!SeDebugPrivilege” が変更されると、非管理者ユーザーであっても、高権限プロセスへ向けた PROCESS_ALL_ACCESS を獲得できるようになる。したがって、この攻撃ベクターは、通常は管理者権限を必要とする SeDebugPrivilege を、根本から回避するものとなる。

このエクスプロイトは、Windows がプロセスの権限をチェックする方法を、操作するものである。通常において、一般的な特権 (SeChangeNotifyPrivilege)を持つユーザーは、システム・リソースへの限定的なアクセスが許可されている。しかし、脆弱性 CVE-2024-30090 の悪用に成功した攻撃者はシステムを欺き、より高いレベルのアクセスを許可する特権 (SeDebugPrivilege) を持っていると、信じ込ますことが可能になる。

脆弱性 CVE-2024-30090 の技術的な詳細を掘り下げることで、Angelboy が明らかにしたのは、攻撃者が競合状態を利用して特定の特権値を変更し、最終的に不正アクセスを獲得する方法である。

その一方で、セキュリティ研究者の Dor00tkit が、CVE-2024-30090 の PoC エクスプロイト・コードを GitHub 上で公開している。この PoC が証明するのは、攻撃者が Windows 11 23H2 システム上で、脆弱性 CVE-2024-30090 を悪用する方法であり、カーネルに対するプロキシ技術を利用して特権昇格を実現している。


幸いにも、Microsoft は 2024年6月の Patch Tuesday で、この脆弱性を修正している。システムの修正を怠ると、このエクスプロイトを利用した攻撃を受ける可能性がある。ユーザーに対して強く推奨されるのは、この更新プログラムを直ちに適用することだ。