IT之家6月19日消息,安全公司 Paradigm Shift 昨日(6月18日)发布博文,宣布在苹果 A12和 A13芯片上发现 BootROM 漏洞,将其命名为 usbliter8。
![]()
苹果A12/A13芯片被曝新漏洞
在受影响机型方面,该漏洞影响搭载 A12和 A13芯片的设备,涵盖 iPhone XS、iPhone XS Max、iPhone 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 控制器硬件 Bug 与特定固件配置缺陷,实现应用处理器启动链的完全攻陷。
该控制器在接收 USB Setup 包时采用环形 DMA 缓冲机制:每接收一个8字节 Setup 包,DMA 地址指针递增8字节;但接收第四个包时,控制器会尝试将指针回退24字节,从而实现环形复位。
然而控制器也接受小于8字节的包(但始终按4字节对齐存储),导致指针递增量(实际写入大小)与固定递减量(24字节)不匹配,形成12字节步进的缓冲欠载(buffer underflow)原语(primitive)。
在 A12上 ds,dUSB 控制器的 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权限执行。
尽管该漏洞无法通过软件修复,但利用条件苛刻,需要物理接触设备,且不会直接威胁安全隔区处理器。苹果已收到通报,建议用户升级至 A14及以上芯片设备以确保安全。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.