Pixel 10向け0-clickエクスプロイトチェーン
(projectzero.google)- Pixel 10チェーンは、パッチ適用前にAndroid全体に存在した Dolby 0-click脆弱性 を第一段階として使用し、新たなローカル権限昇格経路を追加
- Pixel 9チェーンの BigWaveドライバ はPixel 10には存在せず移植できなかったため、代わりにTensor G5の
/dev/vpuが攻撃対象領域となった - VPUドライバはuserspaceに MMIOレジスタインターフェース を直接公開しており、2時間の監査だけで致命的な
mmapバグが発見された remap_pfn_rangeはレジスタサイズではなく VMAサイズ のみを基準にマッピングしていたため、カーネル.textと.dataの読み書きが可能になった- 脆弱性は2025年11月24日に報告された後、71日で パッチが適用され、Androidドライバのセキュリティ強化が依然として必要であることを示した
Pixel 10 0-clickチェーンの構成
- Google Pixel 9で0-click文脈からAndroid rootまで2つのエクスプロイトで到達したエクスプロイトチェーンをもとに、Pixel 10でも類似のチェーンを構成
- Dolby 0-click脆弱性 は2026年1月のパッチ適用前までAndroid全体に存在しており、Pixel 10向けチェーンでも第一段階として使われた
- Pixel 9のローカル権限昇格段階だった BigWaveドライバ はPixel 10に含まれていなかったため、そのまま移植できず、Pixel 10の
/dev/vpuドライバが新たな攻撃対象領域になった
Dolbyエクスプロイトの更新
- CVE-2025-54957向け既存エクスプロイトをPixel 10向けに合わせる作業は、主にPixel 9ライブラリ基準のオフセットをPixel 10ライブラリの対応オフセットへ更新する程度だった
- Pixel 10は
-fstack-protectorの代わりに RET PAC を使っているため、__stack_chk_failを上書きできなかった - いくつかの試行の末、デコーダ初期化時に1回だけ呼ばれ、その後は再度呼ばれない初期化コード
dap_cpdp_initを上書きする方式が使われた - 更新されたDolby UDCエクスプロイトはここで公開されており、2025年12月SPL以前 の未パッチ端末でのみ動作する
BigWave削除とVPU追加
- Pixel 10にはBigWaveドライバがないため、既存のPixel 9チェーンにおけるローカル権限昇格段階を移植できなかった
- mediacodec SELinuxコンテキストからアクセス可能な
/dev/vpuドライバが新たに見つかり、これはTensor G5チップの動画デコード高速化用Chips&Media Wave677DVシリコンとやり取りするために使われる - 公開されているCファイルのコメントによると、このドライバはBigWaveドライバを作成した開発者たちと同じグループが開発・保守していることが分かった
- Jann Hornとともに 2時間にわたってVPUドライバを監査 した結果、極めて異例な脆弱性が見つかった
- 旧世代のChips&MediaチップであるWAVE521C向けアップストリームLinuxドライバと異なり、PixelのWAVE677DVドライバはV4L2(“Video for Linux API”)と統合されていない
- Pixelドライバはチップのハードウェアインターフェースをuserspaceに直接公開し、userspaceがチップの MMIOレジスタインターフェース をマッピングできるようにしている
- ドライバの主な役割は、デバイスメモリマッピングの設定、電源管理、userspaceによるチップ割り込み待機のサポートである
主要なカーネル脆弱性
- このバグは、エクスプロイトが非常に単純な脆弱性だった
- 問題の
mmapハンドラは、VPUハードウェアのMMIOレジスタ領域をuserland仮想アドレス空間へマッピングするコードである remap_pfn_rangeの呼び出しがレジスタ領域のサイズで制限されず、VMAサイズのみ を基準に実行されていた- 攻撃者は
mmapシステムコールでレジスタ領域より大きいサイズを指定することで、VPUレジスタ領域の物理アドレスから任意の長さの物理メモリをuserlandへマッピングできる - カーネルイメージ全体はVPUレジスタ領域より高い物理アドレスに配置されるため、このバグによってカーネルの
.textと.data領域にアクセスし、変更できる - Pixelではカーネルが常に同じ物理アドレスに配置されるため、VPUメモリ領域とカーネルの間のオフセットは常に既知の値である
- 十分に大きなVMA長を指定すれば、マッピングされた物理メモリ内でカーネルをスキャンしなくても、
mmapが返したアドレスを基準にカーネル位置を正確に把握できる - この脆弱性で カーネル任意読み書き を達成するには5行のコードで足り、エクスプロイト全体の作成には1日もかからなかった
- 任意のカーネル関数を上書きしてカーネルコード実行を得たり、望むプリミティブを構築したりできる
パッチ対応
- 脆弱性は2025年11月24日に報告され、Android VRPはこの問題を High深刻度 と評価した
- Pixel 9の権限昇格に使われたBigWaveバグはセキュリティ上の影響が同じだったが、当初はModerateと評価されていたため、今回の評価は改善された対応と見なせる
- 脆弱性は最初の報告から 71日後 に2月のPixelセキュリティ情報でパッチが適用された
- Androidドライバのバグがベンダーへ最初に報告されてから90日以内にパッチされたのは初めてと評価されている
- この対応過程では、類似タイプのバグを分類してパッチするAndroidの対応が有意に改善していることが示された
セキュリティ上の意味
- VPU脆弱性への対応は、Androidの分類パイプラインが改善していることを示しており、以前のBigWave問題よりはるかに短い期間で初期修正が行われた
- 深刻な脆弱性を効率的にパッチしようとするAndroidの取り組みは、多くのAndroid端末の保護に役立つ
- 同時に、Androidドライバにはより徹底した、セキュリティ意識が反映されたコードが引き続き必要である
- BigWaveバグの報告後、関係する開発者たちが他のドライバにある明白なセキュリティ問題を点検することが期待されたが、5か月後、VPUドライバでは浅い監査だけでも即座に露呈する重大な脆弱性が見つかった
- Androidエコシステムの安全性のために、ドライバセキュリティの強化 は依然として重要な優先課題である
- ベンダーは脆弱性が最終ユーザーに届かないよう、ソフトウェア開発慣行を事前に改善すべきであり、特にセキュリティが重要な製品は、リリース時点から合理的に脆弱性の少ない状態であるべきだ
- ソフトウェアチームは、セキュリティ、コード監査、脆弱性修正に対して 予防的アプローチ を取る必要がある
1件のコメント
Hacker Newsの意見
Pixel 9のバグ/エクスプロイトのリンクをたどってみると、AI機能のせいでユーザーがメッセージを開く前にメディアをデコードしなければならず、その結果 0クリック攻撃面 が広がる、という話があった
こういう教訓はもう得ていたはずでは、と思う。頼んでもいないのにSMSを読んで何かを処理するな、という話だ
ユーザーはリッチなメッセージング機能のある携帯電話を選ぶ。iPhoneではiMessageが、その後AndroidではRCSが追いつくまで大きなセールスポイントだった
個人的に最もあきれたのは、あるBigTechのWebメールで、ほぼ確実に悪意ある添付ファイル入りの非常に怪しいメッセージをスパムとしてマークしたら、フィッシングではなかったので他に選択肢がなく、しかも「親切にも」ローカルブラウザで 配信停止リンク を無断で開いてしまったことだ。セキュリティとプライバシーに敏感な文脈で、そんな機能を書き、レビューし、承認し、デプロイするには、どれほどの無能さと組織的機能不全が必要なのか想像しがたい
0-dayもそれほど重要ではない。代替は事実上iPhoneくらいしかなく、Huaweiも地域によって使える程度なので、気にする理由があまりない。私たちには新しいスマホOSとハードウェア層が urgently 必要だ
「脅威アクターが社内文書を更新すれば、それでAIに影響を与えられる」という話も含まれていたが、脅威アクターが文書を更新 しているなら、もう侵害済みだ。ここで言っているのは「Wikipedia荒らし」レベルの話ではない
ユーザーの立場からすると、どのメッセージを開くかを常に慎重に選ばなければならないのは受け入れがたい。メール添付ファイルで責任をユーザーに押しつけてみたが、その結果は惨事だったと言ってよい。悪意ある添付ファイルはおそらく マルウェア配布 の最重要経路だ
「Androidドライバのバグを報告してから、ベンダーが脆弱性を最初に認識した時点から90日以内にパッチされたのは今回が初めてで、特に速い」という一文を見るとGoogleへの印象は良くなるが、同時に残りのAndroidエコシステムは少し怖くなる
Appleの対応時間はどうなのか気になる
しかしそうすると、素のAndroidアップデートが出たときに 移行作業 がとてつもなく大きくなる
より安定した概念実証を作るために何度かやり取りがあり、100%再現する概念実証を提出してからは、おそらく2か月ほどだった
[1] https://gs.statcounter.com/android-version-market-share
[2] https://www.cybersecurity-insiders.com/survey-reveals-over-1...
だが ドライバとファームウェアのセキュリティアップデート は保証しづらい。こうした更新はしばしば上位サプライヤーから来なければならず、彼らに問題を直す意思があるとは限らない。小規模ブランドは安価なAndroid端末を売って、更新をまったくしないことが多い
少し関連するが、最近公開エクスプロイトの比率が実際に上がっているのか、それともAIが攻撃・防御のセキュリティツールとして注目されているせいでニュースで目立つだけなのか気になる
2日に1回くらいのペースで、Linux、Windows、モバイル、みんなが使う一般的なツールなどで何か新しいものが出てくる感じがする
https://projectzero.google/2026/01/pixel-0-click-part-1.html
つまりAIの利用はバグを増やし、それを人間が拾い上げなければならないということだ
2023年以前までさかのぼると、公開CVEの倍増周期はだいたい4〜4.5年だったが、それ以降は約2年だ。確かに急増している
うまく使えば素晴らしいが、下手に使うと本当にひどいということだ
対応チームが 報告の殺到 で過負荷になっていると聞いた
私の考えが合っているか、誰か確認してほしい。以下の正確なプロンプトをgpt 5.5 xhighに入れた
Web検索なしでも問題を正確に指摘した。特定の関数だけでなく、コードベースのまとまり全体をプロンプトに入れるような、もっと包括的な形でも試してみたい。セキュリティエクスプロイトを見つける潜在能力 はありそうだ。だとすると、そもそもこれがどうやってリリースされたのか気になる。おもちゃの例なのは分かっているが、もっと学びたい
今のモデルがmythosと同じくらい優秀だと主張していたスレッドで出てきた反論と、基本的に同じだ
Claudeのサブスクしか持っていない間抜けな自分みたいな人間がやってこの結果だと思うと、かなり印象的だ
別の言い方をすれば https://en.wikipedia.org/wiki/Base_rate_fallacy かもしれない
素晴らしいバグ報告だ。カーネルの専門家ではまったくなく、10年以上前に少し読んだ程度なのに、それでも追いながら何が起きているのか理解できた
これが本当に深刻なバグで、しかも見つけるのにそれほど多くの作業が必要には見えなかったという点が、他にどんな危険が潜んでいるのか不安にさせる。また最近は多くのセキュリティ問題がAIで見つかっているが、この報告を見て2つのことを考えた。専門性は依然として非常に価値が高く、しかもニッチであればあるほど価値が高い。そしてAIがまだ支配できていないニッチはたくさん残っている
iPhoneの脱獄はどうなったのか分からない。かなり長いこと何も見ていないが、何が起きているのだろう? 私が見落としているだけなのか、それとも本当に実現可能なものがないのか気になる
Appleがどうやっているにせよ見事だが、今の流れだと時間の問題なのか、それとも実際に何か変化があるのか知りたい
一部はここで読める: https://security.apple.com/blog/memory-integrity-enforcement...
だから昔のiPhone脱獄シーンのようなものは、もう不可能だ
AIがNSOのような企業のビジネスにどんな影響を与えたのか、何か証拠はあるだろうか? 彼らを無用にするのか、それともむしろ 超強化 するのか気になる
そうだとすれば、NSOやその類似企業を除くすべての人にとっては良い知らせだ
似たような問題に遭遇したことがある。解決策は合理的に見えるが、主張されている 性能向上 には懐疑的だ
ハードウェア動画デコードをサポートするための V4L2改善 が長いことマージ待ちだったが、今ではメインラインカーネルに入ったようだ
おそらく人々はそんなに長く待ちたくなかったのだろう
Project ZeroですらAndroidにバグを正式な窓口から報告し、Android VRPの深刻度分類に付き合わなければならないのは意外だ
てっきりAndroidのオフィスまで歩いていって、対面でバグの重大性を説得できるものだとずっと思っていた