概要
Google Project Zeroの研究者らは、Google Pixel 9スマートフォンを標的とした完全なゼロクリックエクスプロイトチェーンを発見したことを明らかにしました。この攻撃は、ユーザーの操作なしにコード実行と権限昇格を可能にするもので、Dolbyオーディオデコーダとカーネルドライバーの複数の脆弱性を組み合わせて利用しています。
攻撃の仕組みと背景
研究者のNatalie Silvanovich氏によると、AIを搭載したモバイル機能、特に自動音声転写機能が、Androidデバイスにおけるゼロクリック攻撃の対象範囲を劇的に拡大させているとのことです。現在、Googleメッセージは受信したSMSおよびRCSの音声添付ファイルをユーザーの操作なしに自動的にデコードするため、オーディオデコーダがゼロクリックエクスプロイトの主要なターゲットとなっています。
今回悪用された脆弱性は以下の3つです。
- CVE-2025-54957: Dolby Unified Decoder (libcodec2_soft_ddpdec.so) におけるEMDFパース時の整数オーバーフロー。CVSSスコアは9.8で、mediacodecコンテキストでの任意コード実行に繋がります。
- CVE-2025-36934: Pixel 9のカーネルドライバーにおける権限昇格の脆弱性。CVSSスコアは9.8で、mediacodecからカーネルへの権限昇格を可能にします。
- CVE-2025-49415: Monkey’s Audio Codecにおけるバッファオーバーフロー。CVSSスコアは8.6で、オーディオデコーダでのコード実行に繋がります。この脆弱性は、以前Silvanovich氏がSamsungのMonkey’s Audioコーデックに影響を与えると報告したもので、今回のDolby Unified Decoderの調査に繋がるきっかけとなりました。
技術的詳細
主要な欠陥は、DolbyのEMDF(Extensible Metadata Delivery Format)パースロジックに存在します。デコーダがカスタムヒープでのEMDFペイロード割り当てサイズを適切に検証しないため、攻撃者は整数オーバーフローを引き起こすことができます。64ビットシステム上で割り当ての合計サイズが0xFFFFFFFFFFFFFFF9から0xFFFFFFFFFFFFFFFFの間でラップすると、アロケータは小さなバッファを割り当てるにもかかわらず、書き込み操作は元の、はるかに大きなペイロード長を境界として使用します。
この脆弱性は、制御された境界外書き込みを可能にする「バッファオーバーラン能力」と、初期化されたスキップバッファを超えて読み取りを可能にする「リーク能力」という2つのエクスプロイトプリミティブを提供します。攻撃者は複数の同期フレーム(オーディオストリーム内の独立してデコード可能な単位)を慎重に連結することで、書き込みサイズとアドレスをビットストリームパラメータを通じて制御しながら、カスタムヒープを攻撃者制御のデータで埋めることができます。
Project Zeroは、この脆弱性を悪用してPixel 9デバイス上のmediacodecサンドボックス内で任意のコード実行を達成することに成功しました。その後、エクスプロイトチェーンは別のカーネルドライバーの脆弱性を通じてサンドボックスを回避し、システムレベルの権限昇格を実現しています。
Googleの対応と今後の展望
これら3つの脆弱性は、2026年1月5日の時点で全てパッチが適用されています。Googleの研究者たちは、現代のAndroidセキュリティ機能が堅牢であるにもかかわらず、メディアデコーダの脆弱性とドライバーのエクスプロイトが適切に組み合わされると回避され得ることを実証しました。Project Zeroは、完全なエクスプロイト手法を詳述する3部構成の技術シリーズを公開する予定であり、その中でカーネル権限昇格とモバイルプラットフォームのより広範な緩和戦略について議論されます。
元記事: https://gbhackers.com/zero-click-exploit-chain-discovered-targeting-google-pixel-9-devices/
