
ricerca sull'individuazione del bug e sulla correzione di CVE-2026-84616 e CVE-2026-84607
[!IMPORTANT] Questo repository è assistito nella ricerca da agenti AI
[!NOTE]
Ricerca aperta
I contributi sono benvenuti
Avviso iOS 27.0 149034, componente AVEVideoEncoder: "Un'app in sandbox potrebbe essere in grado di eseguire codice arbitrario con privilegi kernel" — "una race condition è stata risolta con una migliore gestione dello stato." Questo writeup: dove risiede la correzione e cosa fa.
Risposta: una nuova guardia di consistenza dello stato per-frame in com.apple.driver.AppleAVE2 che
confronta l'eEncType del client con l'sEnc.eType della sessione e
in caso di mancata corrispondenza. Il campo controllato è scritto da una catena lock-free — correzione tramite validazione, non tramite lock.
La correzione non è arrivata alla GM. È arrivata nel passaggio beta 2 → beta 4 del ciclo iOS 27.0:
| passaggio | cosa è cambiato |
|---|---|
b8 → GM 24A435 | solo BTI (la crescita di __text a +0x2168 = 2148 nuove istruzioni bti; −40 byte funzionali) |
| b1 → GM | +7463 istruzioni di codice reale — il ciclo beta ha fatto il lavoro |
| b2 → b4 | il passaggio della correzione: +68 nuove stringhe = sweep di hardening della memoria kernel + il nuovo controllo di stato |
| b4 → b5 | solo lavoro sulla funzionalità 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 — assente in beta 2, presente dalla beta 4 in poi.sub_fffffff008733654.0xfffffff008737f98), e la sua catena di writer (2 livelli, termina con dispatch indiretto) non chiama
nessun helper di lock — reader e writer vivono in domini di locking diversi.Lo sweep b2→b4 ha anche aggiunto ~22 guardie contro integer-overflow sulla famiglia di
calcolatori di dimensione buffer AVE_CalcBufSizeOf* (area pixel, DPB, LRB, output HSC/MCTF, …):
ave.videoencoder / AppleVideoEncoder.bundle non è stato diffato attraverso
la finestra (le copie pre-correzione risiedono nelle dyld shared cache delle beta).[!NOTE]
Disclaimer
Tutte le affermazioni citano artefatti verificabili; riverificare prima di fidarsi di una qualsiasi di esse. Nessun codice di exploit è incluso. La correzione è stata distribuita in iOS 27.0 (24A435) — questo repository documenta codice già corretto. da usare solo per scopi educativi. Nessun codice di exploit.