Windows 11 Privilege Escalation Flaws Uncovered: CVE-2025-24076 and CVE-2025-24994
2025/04/16 SecurityOnline — Microsoft Windows に存在する2つの権限昇格の脆弱性 CVE-2025-24076/CVE-2025-24994 が、Compass Security の研究者である John Ostrowski の分析結果により明らかになった。必要な権限を持たないユーザーであっても、これらの脆弱性を悪用することで、DLL ハイジャック攻撃を引き起こしり、ローカル SYSTEM レベルの権限を取得する可能性を手にするという。

この調査は、PrivescCheck の使用などによる、定期的なチェックと自動スキャンから開始された。このツールは、COM サーバ・イメージ・ファイルの、権限昇格の脆弱性を浮き彫りにした。具体的に言うと、権限のないユーザーであっても、昇格された権限で実行されている COM サーバによりロードされた、DLL ファイルを変更する可能性があることが判明した。
この脆弱性は、ユーザーもモバイル・デバイスを、Windows コンピューターにリンクするための、Windows 11 の “Mobile devices” 機能に存在する。この分析が強調するのは、ユーザーによる変更が可能な DLL が、一般ユーザーと高権限ユーザーによりロードされることである。
DLL ハイジャックとは、Windows アプリケーションが DLL をロードする方法を悪用する手法である。つまり、正規の DLL を、悪意の DLL に置き換えることで、攻撃者は DLL をロードするプロセスの権限で、任意のコードを実行できるようになる。今回のケースは、低権限のユーザーが DLL を変更し、それを高権限のユーザーがロードするため、管理者権限の取得に利用される可能性がある。
2つの脆弱性のうち、危険性の高い脆弱性 CVE-2025-24076 は、システム・プロセスが署名を検証せずに、変更が可能な DLL をロードすることから発生する。Ostrowski は、「通常のユーザーが DLL ファイルを変更し、それを高権限を持つユーザーが実行するため、これを悪用することで、ローカル・マシンの管理者権限を取得できる」と説明している。
研究者たちは、この脆弱性の悪用を証明するにあたり、いくつかの課題に直面した。
タイミング:正規の DLL を悪意の DLL に置き換えるには、約 300ミリ秒という非常に短い時間が許されるのみである。この問題を解決するために、研究者たちは、ファイルを置き換える間に、プログラムの実行を停止する Opportunistic Lock を使用した。
ファイル・ロック:Windows は、使用中のファイルに対する上書きを防ぐ仕組みを持っている。したがって、研究者たちのソリューションでは、ユーザー・アプリケーション “CrossDeviceService.exe” 内の Close 操作をインターセプトし、ファイルが使用されていないことを、上書き前に確認している。また、Microsoft の Detours ライブラリを使用して、GetFileVersionInfoExW 関数をインターセプトすることで、DLL を確実に上書きできるようにした。
DLL を単純に置き換えるだけでは、プログラムがクラッシュしてしまう。それを防ぐために、研究者たちは、関数呼び出しをオリジナルの DLL に転送すると同時に、悪意のコードを実行するプロキシ DLL を作成した。
この脆弱性 CVE-2025-24076 、はシステム・レベルのアクセスを可能にするが、もう一方の脆弱性 CVE-2025-24994CVE-2025-24994 は、関連するユーザー・レベルのプロセスが、DLL の検証に失敗することに起因する。それにより、ユーザー間攻撃への道が開かれるが、システムレベルを標的とする脆弱性に比べると、影響は遥かに小さくなる。
PoC エクスプロイトは、以下の手順が行われた:
- “Mobile devices” の Web カメラ機能のインストールを開始する。
- DLL が閉じられるのを待つ。
- 正規の DLL を悪意の DLL に置き換える。
これにより、低権限のユーザーであっても、Windows 11 マシンで管理者権限を取得できることが実証された。
すでに Microsoft は、2025年3 月の Patch Tuesday で、これらの脆弱性を修正している。
Windows の脆弱性 CVE-2025-24076/CVE-2025-24994 の悪用により、DLL ハイジャッキングにいたるようです。どちらの脆弱性も、2025年3月の Patch Tuesday で対処されていますので、アップデートされていることを、ご確認ください。このあたりの用語を Google で確認したら、「DLL サイドローディングと似た概念として、DLL ハイジャッキングが挙げられる。 いずれも、正規の DLL を差し替えて不正な DLL を動かすという点で共通しているが、DLL ハイジャッキングは、アプリケーションが使用する特定の DLL を積極的に置き換えて、攻撃を行うケースを指すことが多いとされる」と紹介されていました。よろしければ、DLL Sideloading で検索も、ご参照ください。
You must be logged in to post a comment.