概要
セキュリティ研究者により、AvastアンチウイルスのaswSnx.sysドライバーに深刻なカーネルヒープオーバーフローの脆弱性が発見されました。これらの脆弱性(CVE-2025-13032)は、Windows版バージョン25.3より前の製品に影響を与え、ローカル攻撃者がIOCTL処理におけるダブルフェッチ問題を利用してSYSTEM権限への特権昇格を引き起こす可能性があります。特筆すべきは、これらの脆弱性が典型的なサンドボックスエスケープとは異なり、攻撃面へのアクセスにサンドボックスの操作が必要である点です。
脆弱性の詳細と技術分析
SAFAの研究者たちは、広く普及しているAvastを標的とし、ユーザーがアクセス可能なドライバー(aswSnxなど)が多数のIOCTLハンドラを公開している点に着目しました。分析は、ユーザー制御データを処理するカーネルコンポーネントに焦点を当て、特にIOCTL 0x82AC0204に欠陥が発見されました。このIOCTLは、ユーザーが提供するUNICODE_STRING構造体をカーネルメモリに適切にキャプチャせずに処理します。
具体的な脆弱性は、ドライバーがLengthフィールドをメモリ割り当て時とコピー時の2回フェッチすることに起因します。これにより、攻撃者は操作中にLengthを変更し、制御されたヒープオーバーフローを引き起こすことができます。同様の問題はpStringおよびpDataフィールドにも存在し、ポインター検証の欠如がサービス拒否(DoS)につながる可能性も指摘されています。
さらに、同じハンドラ内で、文字列の長さ計算と割り当てにおけるループベースのダブルフェッチや、プロセス終了時のsnprintfの誤用により、ワイド文字列が固定バッファにコピーされる問題も発見されました。これらの欠陥もユーザー制御のオーバーフローや、無効なポインターを介したDoSを引き起こす可能性があります。
サンドボックスの操作
aswSnxドライバーはsnx_lconfig.xmlを介してカスタムサンドボックスを適用し、脆弱なIOCTLをプロファイルされたプロセスに制限しています。標準プロセスはこれにアクセスできないため、設定操作を通じてサンドボックスを回避する必要がありました。研究者は、読み取り専用権限で実行ファイルを登録するIOCTL 0x82AC0054を使用して設定を操作し、サンドボックス化されたexploit.exeを生成してクラッシュを誘発し、脆弱性の悪用可能性を確認しました。
Avastによる対策と推奨事項
Avastはバージョン25.3でこれらの問題を修正しました。具体的には、構造体をカーネルメモリにキャプチャし、初期の長さを再利用し、固定バッファに対するサイズチェックを追加し、ポインターを検証することで対処しました。これらの脆弱性には、CVSS v3.1スコアで9.9(クリティカル)が付けられており、複雑度が低く、必要な権限も少なく、スコープ変更を介した完全なCIA(機密性、完全性、可用性)への影響があるため、非常に危険です。
SAFAは、最新のWindows 11上でローカル権限昇格(LPE)の実行可能性を実証しており、サンドボックス化されていてもその危険性を証明しています。組織は直ちにシステムをアップデートし、ローカル権限を制限し、権限昇格の試みがないかログを監査することが強く推奨されます。
結論
今回の発見は、防御機構が導入されていても、アンチウイルスソフトウェアのカーネルドライバーに依然として存在するリスクを浮き彫りにしています。システムセキュリティを維持するためには、継続的な監視と迅速なアップデートが不可欠です。
元記事: https://gbhackers.com/avast-antivirus-sandbox-vulnerabilities/
