[!IMPORTANT] 本仓库由 AI 智能体辅助研究
[!NOTE]
开放研究
欢迎贡献
iOS 27.0 公告 149034,组件 AVEVideoEncoder:“沙盒应用可能能够以内核权限执行任意代码”——“通过改进状态管理修复了竞态条件。” 本文说明:修复位于何处以及它做了什么。
答案: com.apple.driver.AppleAVE2 中新增的逐帧状态一致性防护,它将客户端的 eEncType 与会话的 sEnc.eType 进行比较,并在不匹配时转移该帧。被检查的字段由无锁链写入——通过验证修复,而非通过加锁修复。
该修复并未在 GM 落地。它落在 iOS 27.0 周期的 beta 2 → beta 4 阶段:
| 阶段 | 变化内容 |
|---|---|
b8 → GM 24A435 | 仅 BTI(+0x2168 的 __text 增长 = 2148 条新 bti 指令;−40 字节功能性变化) |
| b1 → GM | +7463 条指令的真实代码——beta 周期完成了工作 |
| b2 → b4 | 修复阶段:+68 个新字符串 = 内核内存加固清扫 + 那一个新增状态检查 |
| b4 → b5 | 仅 MCTF 功能工作 |
0xfffffff008734d14 ldr w8, [x22, #0x58] ; client eEncType
0xfffffff008734d18 ldr w9, [x19, #0x270] ; session sEnc.eType
0xfffffff008734d1c cmp w8, w9 ; the new state-consistency guard
0xfffffff008734d20 b.ne → divert ; mismatch NEVER reaches frame processing
EncType mismatch with session——在 beta 2 中不存在,从 beta 4 起出现。sub_fffffff008733654。0xfffffff008737f98),其写入者链(2 层,终止于间接分派)不调用任何锁辅助函数——读取者和写入者处于不同的锁域。b2→b4 清扫还在 AVE_CalcBufSizeOf* 缓冲区大小计算器系列(像素面积、DPB、LRB、HSC/MCTF 输出等)上新增了 约 22 个整数溢出防护:
ave.videoencoder / AppleVideoEncoder.bundle 未在该窗口内做差异比对(修复前副本存在于 beta dyld 共享缓存中)。[!NOTE]
免责声明
所有主张均引用可核查的产物;在信任其中任何一项之前请重新验证。不包含任何漏洞利用代码。该修复已在 iOS 27.0 (24A435)中发布——本仓库记录的是已修补的代码。 仅用于教育目的。无漏洞利用代码。