Google Project Zero安全研究团队于5月13日发布了一份深度技术分析报告,详细揭露了针对Pixel 10智能手机的一个高危“零点击”提权攻击链。值得庆幸的是,该漏洞已在今年2月的安卓安全更新中被成功修复。
整个攻击流程设计精巧、环环相扣:攻击者首先利用并调整了一个已知的Dolby音频解码器漏洞,随后借助Tensor G5芯片VPU驱动中的一个关键设计缺陷——该缺陷允许将任意物理内存映射到用户空间——最终实现了对内核的任意读写,并获取了内核级别的代码执行权限。
攻击链的初始环节,实际上是研究人员对其今年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初始化代码来达成目的。
进入第二个提权环节后,情况发生了变化。在Pixel 9上用于提权的BigWave A V1解码驱动,在Pixel 10上已被弃用。研究人员Jenkins和Jann Horn转而审查Tensor G5芯片的VPU驱动,结果仅花费两小时,便发现了一个严重的安全漏洞。
该驱动的问题在于,它没有采用标准的V4L2(Video for Linux)API,而是将硬件接口更直接地暴露给了用户态程序,甚至允许映射MMIO(内存映射输入输出)寄存器区域。这种设计本身便极大地增加了系统的安全风险。
具体漏洞出现在驱动的mmap处理逻辑中:它根据VMA(虚拟内存区域)的大小调用remap_pfn_range函数,却未能将此映射范围严格限制在硬件寄存器区域本身的大小之内。其后果是,调用者可以将任意数量的物理内存(理论上甚至包括整个内核镜像)映射到用户态。
对于攻击者而言,这几乎是一条畅通无阻的“提权捷径”。报告进一步指出,Pixel设备的内核总是位于固定的物理地址,攻击者可以直接推算出它相对于mmap返回地址的偏移位置,完全无需进行额外的内存扫描来定位内核。
Jenkins透露,实现内核的任意读写功能,仅需5行代码;完整的漏洞利用代码在不到一天内即编写完成。这恰恰表明,问题不仅仅在于某个单一的漏洞,更在于驱动层的基础安全防护机制,似乎已远远落后于系统处理多媒体内容的需求与速度。
在修复时间线上,Jenkins于2025年11月24日向Google报告了这个VPU驱动漏洞。71天后,即2026年2月,Google在当月的Pixel安全更新公告中完成了修复。
至于Dolby相关的漏洞利用,主要影响安全补丁级别(SPL)为2025年12月或更早的设备。Pixel 10用户可以通过进入手机“设置” → “关于手机” → “Android安全更新”来查看自己的版本号,确认设备是否已获得保护。

