
CVE-2026-43813: CloudAttestation enforceEnvironment Umgehung
enforceEnvironment-UmgehungReverse-Engineerierte Analyse des PCC-Attestation-Eingabevalidierungsfehlers, den Apple als iOS 26.6 ausgeliefert hat, gefunden in CloudAttestation.dylib.
PCC.ComputeNodeValidator.policy.getter liest das Byte com.apple.CloudAttestation.environment aus dem unverifizierten darwinInit-Wörterbuch innerhalb des AttestationBundle-Protobufs und setzt es direkt in die NodeValidator.policy ein, die an den Aufrufer zurückgegeben wird. Der 26.6-Fix führt ein neues Strukturfeld ein, das diese Lektüre an den Systemrichtlinienschlüssel enforceEnvironment in der Domäne com.apple.CloudAttestation koppeln soll — aber dieses Feld wurde in 26.5 nie initialisiert, sodass die Absicherung faktisch fehlte und ein manipuliertes PCC-Attestation-Bundle einen vom Angreifer gewählten Umgebungswert in die Richtlinienkette des Validators setzen konnte.
Das Byte selbst entsperrt für sich genommen nichts – es muss mit dem vom Aufrufer bereitgestellten Parameter expected übereinstimmen, um EnvironmentPolicy.evaluate zu bestehen, und der Rest des Produktionsrichtlinien-Stacks (requireProdTrustAnchors, requireProdFusing, requireLockedCryptexes, restrictDeveloperMode, strictCertificateValidation, transparencyProofValidation, ensembleTopologyValidation) wird aus os_policy_lookup gelesen, nicht aus dem Bundle.
| Build | Pfad | Rolle |
|---|---|---|
| 23G5057c | 23G5057c_CloudAttestation | 26.6 Beta 4 (verwundbar) |
| 23G5065a | 23G5065a_CloudAttestation | 26.6 Beta 5 (gepatcht) |
| — | 23G5065a_CloudAttestation_vs_23G5057c_CloudAttestation.BinDiff | Der Diff zwischen beiden |
IDA-Datenbanken (.i64), BinExport-Dumps und andere Zwischen-Builds sind in .gitignore ausgenommen.
| Symbol | 23G5057c (verwundbar) | 23G5065a (gepatcht) |
|---|---|---|
PCC.ComputeNodeValidator.policy.getter | 0x235e16f5c (0x1c4) | 0x235e02fa8 (0x1dc) |
PCC.ComputeNodeValidator.init(proxyingAttestation:) | 0x235e15ca0 | 0x235e01bf4 |
Init-enforceEnvironment-Lookup-Helfer | (fehlt) | 0x235ed01cc |
DarwinInit.environment.getter | 0x235edc880 | gleich |
Bindiff-Ähnlichkeit für das gepatchte Paar: 0.68.
CVE-2026-43813.txt — ursprüngliche CVE-Beschreibung (wörtlich von VulDB)releases.txt — Build-IDs in chronologischer ReihenfolgeDiese Forschung wurde in hohem Maße von MiniMax-M3 unterstützt. Behalte das beim Lesen der Writeups im Hinterkopf — keine der Analysen ist unabhängig verifiziert, und jede zitierte Dekompilierung, Adresse oder Ähnlichkeitswert sollte vor der Verwendung erneut geprüft werden.