
recherche sur la découverte et la correction des bugs CVE-2026-84616 et CVE-2026-84607
[!IMPORTANT] Ce dépôt est assisté par des agents IA pour la recherche
[!NOTE]
Recherche ouverte
Les contributions sont les bienvenues
Avis iOS 27.0 149034, composant AVEVideoEncoder : « Une app sandboxée peut être capable d'exécuter du code arbitraire avec les privilèges noyau » — « une condition de course a été corrigée par une meilleure gestion d'état. » Ce writeup : où se trouve le correctif et ce qu'il fait.
Réponse : un nouveau garde-fou de cohérence d'état par trame dans com.apple.driver.AppleAVE2 qui
compare le eEncType du client avec le sEnc.eType de la session et détourne la trame
en cas de non-concordance. Le champ vérifié est écrit par une chaîne sans verrou — correction par validation, pas par verrou.
Le correctif n'a pas été intégré à la version GM. Il a été intégré à l'étape bêta 2 → bêta 4 du cycle iOS 27.0 :
| étape | ce qui a changé |
|---|---|
b8 → GM 24A435 | BTI uniquement (la croissance __text à +0x2168 = 2148 nouvelles instructions bti ; −40 octets fonctionnels) |
| b1 → GM | +7463 instructions de code réel — le cycle bêta a fait le travail |
| b2 → b4 | l'étape du correctif : +68 nouvelles chaînes = balayage de durcissement de la mémoire noyau + la nouvelle vérification d'état |
| b4 → b5 | Travail sur la fonctionnalité MCTF uniquement |
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 — absente en bêta 2, présente à partir de la bêta 4.sub_fffffff008733654.0xfffffff008737f98), et sa chaîne d'écriture (2 niveaux, se terminant par un dispatch indirect) n'appelle
aucun helper de verrou — lecteur et écrivain vivent dans des domaines de verrouillage différents.Le balayage b2→b4 a également ajouté ~22 garde-fous contre les dépassements d'entiers sur la famille
de calculateurs de taille de tampon AVE_CalcBufSizeOf* (surface de pixels, DPB, LRB, sortie HSC/MCTF, …) :
ave.videoencoder / AppleVideoEncoder.bundle n'a pas été diffé sur
la fenêtre (les copies pré-correctif résident dans les caches partagés dyld des bêtas).[!NOTE]
Avertissement
Toutes les affirmations citent des artefacts vérifiables ; re-vérifiez avant de faire confiance à l'une d'entre elles. Aucun code d'exploit n'est inclus. Le correctif a été livré dans iOS 27.0 (24A435) — ce dépôt documente du code déjà corrigé. à utiliser uniquement à des fins éducatives. Aucun code d'exploit.