Pixel 10零点击漏洞修复仅需5行代码
GoogleProjectZero披露了针对Pixel10的“零点击”提权攻击链,已于今年2月修复。攻击者先利用Dolby音频解码器漏洞,再通过TensorG5芯片VPU驱动的设计缺陷,将任意物理内存映射到用户空间,仅用5行代码就实现了内核的任意读写与执行权限。该驱动未限制映射范围,导致内核镜像可能被直接访问。相关漏洞已在安全更新中修复。
Google Project Zero披露Pixel 10“零点击”提权攻击链
Google Project Zero团队于5月13日发布技术分析,详细披露了一个针对Pixel 10手机的“零点击”提权攻击链。该高危漏洞已在今年2月的安全更新中被修复。
攻击链概述:从音频漏洞到内核提权
整个攻击过程环环相扣。攻击者首先利用并调整了一个已知的Dolby音频解码器漏洞,随后借助Tensor G5芯片VPU驱动中的一个设计缺陷——该缺陷允许将任意物理内存映射到用户空间——最终实现了对内核的任意读写,并获得了内核级代码的执行权限。
第一环节:利用Dolby音频解码漏洞实现零点击触发
攻击链的第一环节,是研究人员对其今年1月针对Pixel 9所发布研究的扩展。他们利用了Dolby Unified Decoder库中的一个漏洞(编号CVE-2025-54957)。这个负责处理Dolby Digital音频格式的库应用范围很广,不仅限于安卓,也集成在iOS、Windows及各种流媒体设备中。
关键在于,许多安卓设备(包括Pixel)有一个特性:在用户点开消息前,系统会自动为Google Messages收到的音频消息生成文字转写。这意味着,一段精心构造的恶意音频文件只要发送到目标手机,就可能在用户毫无察觉、无需任何交互的情况下触发漏洞,这正是“零点击”攻击的隐蔽之处。
由于Pixel 10采用了名为RET PAC的安全增强技术,攻击者原先可用的__stack_chk_fail函数已失效。研究团队因此调整策略,改为覆盖dap_cpdp_init初始化代码来达成目的。
第二环节:利用Tensor G5 VPU驱动缺陷完成内核提权
在第二个提权环节,情况发生了变化。Pixel 9上用于提权的BigWa ve A V1解码驱动在Pixel 10上已不再使用。研究人员转而检查Tensor G5芯片的VPU驱动,结果仅用两小时就发现了一个严重漏洞。
该驱动的问题在于,它没有采用标准的V4L2(Video for Linux)API,而是将硬件接口更直接地暴露给用户态程序,甚至允许映射MMIO(内存映射输入输出)寄存器区域,这种设计本身显著增加了安全风险。
具体漏洞出在驱动的mmap处理逻辑上:它根据VMA(虚拟内存区域)的大小调用remap_pfn_range函数,却未将映射范围限制在硬件寄存器区域本身的大小之内。后果是,调用者可将任意数量的物理内存映射到用户态,理论上甚至包括整个内核镜像。
这对攻击者而言几乎是一条“康庄大道”。报告指出,Pixel设备的内核总是位于固定的物理地址,攻击者可直接推算出它相对于mmap返回地址的位置,无需再进行额外的内存扫描来定位内核。
研究人员透露,实现内核的任意读写仅用了5行代码,完整漏洞利用代码在不到一天内编写完成。这恰恰说明,问题不仅在于单一漏洞,更在于驱动层的基础安全防护似乎远远跟不上系统处理多媒体内容的需求和速度。
漏洞修复时间线与用户自查方法
在修复时间线上,研究人员于2025年11月24日向Google报告了这个VPU驱动漏洞。71天后,即2026年2月,Google在当月的Pixel安全公告中完成了修复。
至于Dolby相关的漏洞利用,主要影响安全补丁级别(SPL)为2025年12月或更早的设备。Pixel 10用户可通过进入“设置” → “关于手机” → “Android安全更新”来查看自己的版本,确认设备是否已受到保护。

