
Forschung zum Finden des Bugs und zur Behebung von CVE-2026-84616 und CVE-2026-84607
[!IMPORTANT] Dieses Repository wird von KI-Agenten forschungsunterstützt
[!NOTE]
Offene Forschung
Beiträge sind willkommen
iOS 27.0 Advisory 149034, Komponente AVEVideoEncoder: „Eine sandboxed App könnte in der Lage sein, beliebigen Code mit Kernel-Privilegien auszuführen" — „eine Race Condition wurde mit verbessertem State-Management behoben." Dieser Writeup: wo der Fix liegt und was er tut.
Antwort: ein neuer Guard zur Zustandskonsistenz pro Frame in com.apple.driver.AppleAVE2, der
das eEncType des Clients mit dem sEnc.eType der Session vergleicht und den Frame umleitet
bei Nichtübereinstimmung. Das geprüfte Feld wird von einer lock-freien Kette geschrieben — Fix-durch-Validierung, nicht Fix-durch-Lock.
Der Fix landete nicht bei GM. Er landete im Schritt Beta 2 → Beta 4 des iOS-27.0-Zyklus:
| Schritt | Was sich geändert hat |
|---|---|
b8 → GM 24A435 | Nur BTI (das +0x2168 __text-Wachstum = 2148 neue bti-Instruktionen; −40 Bytes funktional) |
| b1 → GM | +7463 Instruktionen echten Codes — der Beta-Zyklus hat die Arbeit gemacht |
| b2 → b4 | der Fix-Schritt: +68 neue Strings = Kernel-Memory-Hardening-Sweep + der eine neue State-Check |
| b4 → b5 | Nur MCTF-Feature-Arbeit |
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 — in Beta 2 nicht vorhanden, ab Beta 4 vorhanden.sub_fffffff008733654 auf.0xfffffff008737f98), und seine Writer-Kette (2 Ebenen, endet bei indirektem Dispatch) ruft
keine Lock-Helfer auf — Reader und Writer leben in unterschiedlichen Locking-Domänen.Der b2→b4-Sweep fügte außerdem ~22 Integer-Overflow-Guards in der AVE_CalcBufSizeOf*-Familie
von Buffer-Size-Rechnern hinzu (Pixel Area, DPB, LRB, HSC/MCTF-Ausgabe, …):
ave.videoencoder / AppleVideoEncoder.bundle wurde nicht gediffed über
das Fenster (Pre-Fix-Kopien liegen in den Beta-dyld-Shared-Caches).[!NOTE]
Haftungsausschluss
Alle Behauptungen zitieren überprüfbare Artefakte; verifizieren Sie sie erneut, bevor Sie einer davon vertrauen. Es ist kein Exploit-Code enthalten. Der Fix wurde in iOS 27.0 (24A435) ausgeliefert — dieses Repository dokumentiert bereits gepatchten Code. Nur für Bildungszwecke verwenden. Kein Exploit-Code.