EastArctica/CVE-2026-43813

GitHub: EastArctica/CVE-2026-43813

针对 Apple PCC CloudAttestation enforceEnvironment 绕过漏洞(CVE-2026-43813)的逆向工程分析项目,包含漏洞版本与修复版本的二进制对比及完整分析报告。

Stars: 0 | Forks: 0

# CVE-2026-43813 — CloudAttestation `enforceEnvironment` 绕过 对 PCC attestation 输入验证漏洞的逆向工程分析 Apple 在 iOS 26.6 中发布,可在 `CloudAttestation.dylib` 中找到。 ## TL;DR `PCC.ComputeNodeValidator.policy.getter` 从 `AttestationBundle` protobuf 内未经验证的 **darwinInit** 字典中读取 `com.apple.CloudAttestation.environment` 字节,并将其直接塞入返回给调用者的 `NodeValidator.policy` 中。 26.6 的修复引入了一个新的结构体字段,旨在根据系统策略键 `enforceEnvironment`(位于 `com.apple.CloudAttestation` 域中)对该读取操作进行门控——但该字段在 26.5 中**从未被初始化**,因此该门控实际上形同虚设。一个精心构造的 PCC attestation bundle 可以将攻击者指定的环境值设置到验证器的策略链中。 该字节本身并不能直接解锁任何内容——它必须与调用者提供的 `expected` 参数匹配才能通过 `EnvironmentPolicy.evaluate`,并且生产环境策略堆栈的其余部分(`requireProdTrustAnchors`、`requireProdFusing`、`requireLockedCryptexes`、`restrictDeveloperMode`、`strictCertificateValidation`、`transparencyProofValidation`、`ensembleTopologyValidation`)是从 `os_policy_lookup` 读取的,而不是从 bundle 中读取的。 ## 仓库中包含的二进制文件 | 版本 | 路径 | 作用 | |---|---|---| | 23G5057c | `23G5057c_CloudAttestation` | 26.6 beta 4 (**漏洞版本**) | | 23G5065a | `23G5065a_CloudAttestation` | 26.6 beta 5 (**已修复版本**) | | — | `23G5065a_CloudAttestation_vs_23G5057c_CloudAttestation.BinDiff` | 两者之间的差异对比 | IDA 数据库(`.i64`)、BinExport 转储以及其他中间构建版本已被 gitignore 忽略。 ## 漏洞 / 已修复地址 | 符号 | 23G5057c (漏洞版本) | 23G5065a (已修复版本) | |---|---|---| | `PCC.ComputeNodeValidator.policy.getter` | `0x235e16f5c` (0x1c4) | `0x235e02fa8` (0x1dc) | | `PCC.ComputeNodeValidator.init(proxyingAttestation:)` | `0x235e15ca0` | `0x235e01bf4` | | 初始化 `enforceEnvironment` 查找辅助函数 | *(缺失)* | `0x235ed01cc` | | `DarwinInit.environment.getter` | `0x235edc880` | 相同 | 已修复配对的 Bindiff 相似度:**0.68**。 ## 文件 - [WRITEUP.md](WRITEUP.md) — 完整的逆向工程分析报告(数据流、修复补丁,以及为什么它是 PCC 内部问题而不是应用签名内部问题) - [WHY-NOT-SIDELOADING.md](WHY-NOT-SIDELOADING.md) — 简短的威胁模型结语,解释了为什么这个 CVE 无法被转化为 TrollStore 风格的漏洞利用 - [NOTES.md](NOTES.md) — 分析草稿 - `CVE-2026-43813.txt` — 原始 CVE 描述(摘自 VulDB 原文) - `releases.txt` — 按时间顺序排列的构建 ID ## 注意 这项研究得到了 MiniMax-M3 的极大协助。 阅读这些分析报告时请牢记这一点——所有的分析均未经独立验证,在依赖任何引用的反编译代码、地址或相似度得分之前,应重新进行核对。
标签:iOS, 二进制安全, 云资产清单, 漏洞分析, 路径探测, 逆向工程