无法软件修复:苹果A12A13芯片曝新漏洞,影响iPhone 11系列等

发布时间:2026-06-19 10:40

  根据博文内容,该漏洞利用苹果 A12 和 A13 芯片内置的 DWC2 USB 控制器硬件 Bug 与特定固件配置缺陷,实现应用处理器启动链的完全攻陷。

  该控制器在接收 USB Setup 包时采用环形 DMA 缓冲机制:每接收一个 8 字节 Setup 包,DMA 地址指针递增 8 字节;但接收第四个包时,控制器会尝试将指针回退 24 字节,从而实现环形复位。

  然而控制器也接受小于 8 字节的包,导致指针递增量与固定递减量不匹配,形成 12 字节步进的缓冲欠载原语。

  在 A12 上 ds,dUSB 控制器的 DMA 缓冲区位于堆中,紧邻 USB 任务栈。通过欠载原语覆盖栈上保存的 LR 寄存器,当调度器切换回 USB 任务时,即可劫持 PC。

  首先覆盖 DART相关数据结构,利用 DART 清理例程中的零写入原语清空全局 DART 指针,避免堆校验崩溃;

  随后利用 MMIO 寄存器写入 0xF,覆盖全局 panic 计数器,使后续 panic 进入无限循环而非重启;

  再精确控制 DMA 写入时机,在 USB 任务运行时覆写其任务结构中的临界区深度字段,触发带 IRQ 的 panic 进入无限循环;

  最后在无限循环中继续 DMA 写操作,覆盖 BSS 段中的 USB IRQ 处理函数指针,获得完全 PC 控制。

  获得代码执行后,攻击者利用 SecureROM 中罕见的 EL1 模式切换点。A12 上通过 ROP 链将 DMA 目标地址设为 boot trampoline 区域,写入 shellcode 后跳转至 EL1 权限执行。

  尽管该漏洞无法通过软件修复,但利用条件苛刻,需要物理接触设备,且不会直接威胁安全隔区处理器。苹果已收到通报,建议用户升级至 A14 及以上芯片设备以确保安全。

排行

精选