it.xnews.jp

CVE-2025-13032: Avastアンチウイルスのサンドボックスを突破する脆弱性利用

SAFA研究チームがWindows 11上でCVE-2025-13032の二重フェッチ脆弱性を悪用し、ローカル権限昇格エクスプロイトの完全な実装を実証した。Avastのカーネルドライバの脆弱性を利用して、任意のカーネル読み書きプリミティブを作成し、SYSTEMプロセストークンを奪取することで権限昇格を実現している。

CVE-2025-13032エクスプロイトのデモンストレーション

脆弱性の概要

CVE-2025-13032はAvastのカーネルドライバに存在する二重フェッチ脆弱性である。このバグは、ユーザーが供給した_UNICODE_STRING構造を捕捉する際に、Lengthフィールドが複数回フェッチされることが原因となっている。最初のフェッチは文字列のコピー先となるバッファを割り当てるために行われ、2番目のフェッチはmemcpyを実行するために行われ、その間にユーザーが値を変更した場合、カーネルプールオーバーフローが発生する。脆弱性はPAGED_POOLメモリを対象としており、0x1000バイトなどの大きな悪意のある値をLengthフィールドに設定することで悪用される。

権限昇格メカニズム

SAFA研究チームの攻撃計画は、RegBuffersエントリをユーザーランドで完全に制御可能な偽の_IOP_MC_BUFFER_ENTRY構造を指すようリダイレクトするものである。カーネルがそのエントリを使用してI/O操作を実行すると、偽の構造体を直接逆参照し、Addressフィールドをユーザーランドから読み取り、それを読み書きのターゲットとして使用する。

プール割り当てヘッダの状態

I/OリングオブジェクトはPAGED_POOLに割り当てられたRegBuffersフィールドを保有する。各登録バッファはN個に対して8バイトのポインタサイズとなっており、インデックス1のcorruptedなRegBuffersエントリが悪用対象となる。研究チームは_EPROCESSポインタをリークし、プール割り当てヘッダを修復し、SYSTEMプロセストークンを盗むことで権限昇格を実現した。

WindowsカーネルとI/Oリング

WindowsカーネルはI/O操作の非同期実行のためにサブミッションキューを管理するI/Oリングオブジェクトをサポートしている。IoRingReadFileはファイルから事前登録されたバッファにデータをコピーし、IoRingWriteFileは事前登録されたバッファからファイルにデータをコピーする。ProcessBilledフィールドは割り当てに対して責任を持つプロセスへのポインタを格納する。

なお、Windows 10版19H1からはSegment Heapがプール割り当てを処理するようになっている。またWindowsではSMAP(Supervisor Mode Access Prevention)が実装されていない。

緩和策と今後の対応

最新版のWindowsカーネルおよびドライバはユーザーモードアクセサを使用してカーネルがユーザーモードメモリにアクセスするたびに検証を行うと報じられている。この緩和策により、本レポートで説明されたエクスプロイト技術の使用は防止される可能性がある。CVE-2025-13032はすでにパッチが適用されている。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

SAFA「CVE-2025-13032: Entering and Breaking the Avast Antivirus Sandbox Part 2」https://www.safateam.com/intelligence-hub/research/technical-articles/cve-2025-13032-entering-and-breaking-the-avast-antivirus-sandbox-part-2

この記事をシェア