
بحث حول إيجاد الثغرة وإصلاح CVE-2026-84616 وCVE-2026-84607
[!IMPORTANT] هذا المستودع مدعوم بالبحث بواسطة وكلاء الذكاء الاصطناعي
[!NOTE]
بحث مفتوح
المساهمات مرحّب بها
إشعار iOS 27.0 رقم 149034، المكوّن AVEVideoEncoder: "قد يتمكن تطبيق معزول (sandboxed) من تنفيذ تعليمات برمجية عشوائية بصلاحيات النواة" — "تمت معالجة حالة سباق (race condition) عبر إدارة حالة محسّنة." هذا التقرير: أين يقع الإصلاح وماذا يفعل.
الإجابة: حارس جديد لاتساق الحالة لكل إطار (per-frame) في com.apple.driver.AppleAVE2 يقوم
بمقارنة eEncType الخاص بالعميل مع sEnc.eType الخاص بالجلسة ويحوّل الإطار عند عدم التطابق.
الحقل المفحوص يُكتب بواسطة سلسلة خالية من الأقفال (lock-free) — إصلاح بالتحقق، لا إصلاح بالقفل.
الإصلاح لم يصل في GM. بل وصل في خطوة beta 2 → beta 4 من دورة iOS 27.0:
| الخطوة | ما تغيّر |
|---|---|
b8 → GM 24A435 | BTI فقط (نمو __text عند +0x2168 = 2148 تعليمة bti جديدة؛ −40 بايت وظيفية) |
| b1 → GM | +7463 تعليمة من الكود الحقيقي — دورة البيتا أنجزت العمل |
| b2 → b4 | خطوة الإصلاح: +68 نصاً جديداً = حملة تقوية ذاكرة النواة + فحص الحالة الجديد الوحيد |
| b4 → b5 | عمل ميزة 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 — غائب في beta 2، موجود من beta 4 فصاعداً.sub_fffffff008733654.0xfffffff008737f98)، وسلسلة كتابته (مستويان، تنتهي بإرسال غير مباشر) لا تستدعي
أي مساعدات أقفال — القارئ والكاتب يعيشان في نطاقات قفل مختلفة.أضافت حملة b2→b4 أيضاً ~22 حارساً لفيض الأعداد الصحيحة (integer-overflow) على عائلة
حاسبات حجم المخزن AVE_CalcBufSizeOf* (مساحة البكسل، DPB، LRB، مخرجات HSC/MCTF، …):
ave.videoencoder / AppleVideoEncoder.bundle في مساحة المستخدم عبر
النافذة (نسخ ما قبل الإصلاح موجودة في ذاكرات dyld المشتركة للبيتا).[!NOTE]
إخلاء المسؤولية
جميع الادعاءات تستشهد بمصنوعات قابلة للتحقق؛ أعد التحقق قبل الوثوق بأي منها. لا يتضمن أي كود استغلال. تم شحن الإصلاح في iOS 27.0 (24A435) — هذا المستودع يوثّق كوداً مُرقَّعاً بالفعل. للاستخدام لأغراض تعليمية فقط. لا كود استغلال.