苹果A12/A13芯片安全漏洞曝光 波及iPhone 11系列
安全研究机构 Paradigm Shift 于 2025 年 6 月 18 日发布技术报告,公开了在苹果 A12 与 A13 芯片中发现的一个 BootROM 漏洞,编号命名为 usbliter8。该漏洞可直接绕过完整的安全启动链,具备极高的威胁等级。
哪些设备处于风险之中?该漏洞主要影响搭载 A12 和 A13 芯片的机型,涵盖 iPhone XS 系列、XR、iPhone 11 系列,以及配备 S4 与 S5 芯片的部分 iPad 和 Apple Watch。具体受影响设备清单如下:
11-inch iPad Pro (第一代)
11-inch iPad Pro (第二代)
12.9-inch iPad Pro (第三代)
12.9-inch iPad Pro (第四代)
Apple Watch SE (第一代)
Apple Watch Series 4
Apple Watch Series 5
iPad (第 9 代)
iPad (第 8 代)
iPad Air (第 3 代)
iPad mini (第 5 代)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (第 2 代)
iPhone XR
iPhone XS
iPhone XS Max
漏洞根源在于 A12/A13 芯片集成的 DWC2 USB 控制器。该控制器本身存在硬件级逻辑缺陷,结合特定固件配置漏洞,使整个应用处理器启动链被攻破。具体机制如下。
控制器处理 USB Setup 包时采用环形 DMA(直接内存访问)缓冲机制。每收到一个 8 字节 Setup 包,DMA 地址指针递增 8 字节。当接收第四个包时,控制器尝试将指针回退 24 字节实现环形复位。然而控制器同时支持接收小于 8 字节的包(按 4 字节对齐存储),导致实际写入步进量(小于 8)与固定回退量(24 字节)不匹配,最终形成 12 字节步进的缓冲欠载原语。这相当于从环形缓冲区撕开了一个可被利用的缺口。
在 A12 上,USB 控制器 DMA 缓冲区分配在堆上,紧邻 USB 任务栈。攻击者利用该欠载原语覆盖栈上保存的 LR(链接寄存器)值。当调度器切换回 USB 任务时,可直接劫持 PC(程序计数器)指针,实现任意代码执行。
在 A13 上,苹果引入了 PAC(指针认证)和堆元数据校验,攻击难度显著提升。绕过这些防护需分多步推进,类似几何证明的链式操作:
第一步,覆盖 DART(设备地址重映射表)相关数据结构,利用 DART 清理例程中的零写入原语清空全局 DART 指针,避免触发堆校验崩溃。
随后,通过 MMIO 寄存器向某个值写入 0xF,覆盖全局 panic 计数器。这样当后续系统 panic 时会进入无限循环,而非直接重启,为后续攻击争取时间窗口。
下一步,精准控制 DMA 写入时机,在 USB 任务实际运行时覆写其任务结构中的临界区深度字段,再触发一个带 IRQ 的 panic,使其落入该无限挂起循环。
在无限循环期间持续执行 DMA 写入,覆盖 BSS 段中的 USB IRQ 中断处理函数指针,最终获得完全的 PC 控制权。
获得代码执行权限后,攻击者利用 SecureROM 中极罕见的 EL1 模式切换点(通过执行 SVC 0 指令)。在 A12 上,借助预先搭建的 ROP 链,将 DMA 目标地址设为 boot trampoline 区域(该区域只读可执行但 DMA 可写入),写入 shellcode 后跳转到 EL1 权限执行。
尽管该漏洞危险性极高,但由于其属于 BootROM 级别硬件缺陷,无法通过软件更新修复。值得庆幸的是,利用条件极为苛刻:必须物理接触设备,且不直接威胁安全隔区处理器。苹果已收到漏洞通报。对用户最务实的建议是:若正犹豫是否升级设备,直接更换搭载 A14 或更新芯片的机型,这才是彻底消除风险的方案。
附上参考地址
Introducing usbliter8
