CVE-2025-31200: تجاوز سعة المخزن المؤقت في إعادة تعيين قنوات CoreAudio APAC
نظرة عامة على الثغرة
CVE-2025-31200 هي ثغرة تجاوز سعة المخزن المؤقت في إطار عمل CoreAudio من Apple تؤثر على وحدة فك ترميز برنامج ترميز الصوت الموضعي من Apple (APAC). يقع الخطأ في دالة APACChannelRemapper::Process داخل APACHOADecoder::DecodeAPACFrame.
الأنظمة المتأثرة:
- iOS < 18.4.1
- macOS < 15.4.1
- جميع أجهزة Apple التي تستخدم إطار عمل CoreAudio
التفاصيل التقنية
السبب الجذري
تنبع الثغرة من خطأ منطقي في التحقق من تخطيط القنوات:
- يتم تحديد حجم
mRemappingArray بناءً على البايتين الأدنى من mChannelLayoutTag من تخطيط القنوات العام
- أثناء معالجة إطارات الصوت، يستخدم مفكك الترميز عددًا منفصلًا لتخطيط قنوات إعادة التعيين للتكرار عبر هذه المصفوفة
- من خلال إحداث عدم تطابق بين عددي القنوات هذين، يمكن للمهاجم التسبب في وصول إلى الذاكرة خارج الحدود
ناقل الهجوم
يعمل الاستغلال عن طريق إنشاء ملف صوتي APAC خبيث يحتوي على:
- تخطيط قنوات عام: 4 قنوات (يتحكم في حجم تخصيص المصفوفة)
- تخطيط قنوات إعادة التعيين: 64 قناة (يتحكم في عدد التكرارات)
- النتيجة: وصول إلى الذاكرة خارج الحدود بمعدل 16x أثناء إعادة تعيين القنوات
إثبات المفهوم
يحتوي هذا المستودع على تنفيذ بلغة Python يولد ملف تعريف APAC الخبيث (cookie) الذي يستغل هذه الثغرة.
الملفات
poc.py - المولّد الرئيسي للاستغلال
generate_audio_simple.py - توليد ملفات الصوت
caf_utils.py - أدوات معالجة ملفات تعريف APAC
parser.py - تحليل ملفات التعريف وإنشاء حمولة الاستغلال
test_exploit.py - التحقق من الاستغلال وتحليله
create_malicious_mp4.py - توليد حمولة MP4
الاستخدام
# Generate malicious APAC cookie
pip install numpy construct
python3 poc.py
# Verify exploit payload
python3 test_exploit.py
# Create malicious MP4 (requires macOS afconvert)
python3 create_malicious_mp4.py
تولد البرامج النصية:
- ملفات صوت اختبارية حميدة (WAV, M4A, CAF)
exploit_cookie.dat - ملف تعريف APAC خبيث مع عدم تطابق في عدد القنوات
malicious_apac.m4a - ملف MP4 مُسلَّح جاهز للاختبار
عملية الاستغلال
- إنشاء عدم تطابق في تخطيط القنوات داخل ملف تعريف APAC (
poc.py)
- التحقق من سلامة الحمولة (
test_exploit.py)
- تضمين ملف التعريف في حاوية الصوت MP4/M4A (
create_malicious_mp4.py)
- نشر الملف الخبيث على النظام المصاب
- تشغيل المعالجة عبر تشغيل الصوت (AVAudioPlayer, متصفح الويب, إلخ.)
- يحدث الوصول خارج الحدود في
APACChannelRemapper::Process
بيئة الاختبار
للتحقق من الاستغلال على الأنظمة المصابة:
- الهدف: macOS < 15.4.1 أو iOS < 18.4.1
- الأدوات: Xcode مع تفعيل Guard Malloc
- الانهيار المتوقع:
APACChannelRemapper::Process مع EXC_BAD_ACCESS
- التصحيح: استخدم LLDB لفحص أنماط تلف الذاكرة
التأثير وإمكانات الاستغلال
التأثيرات المباشرة
- رفض الخدمة: انهيار مضمون عند معالجة الصوت الخبيث
- تلف الذاكرة: عمليات قراءة/كتابة خارج الحدود
- إنهاء التطبيق: أي تطبيق يعالج الصوت الخبيث سينهار
الاستغلال المتقدم
مع صياغة حمولة بعناية، يمكن استغلال هذه الثغرة نظريًا من أجل:
تنفيذ التعليمات البرمجية: من خلال التحكم في عمليات الكتابة خارج الحدود، قد يتمكن المهاجم من:
- استبدال مؤشرات الدوال أو إدخالات الجداول الافتراضية
- إتلاف البيانات الوصفية للكومة لتحقيق بدائيات كتابة عشوائية
- ربطها بثغرات أخرى لاختراق النظام بالكامل
الهروب من صندوق الحماية: نظرًا لأن CoreAudio يعمل في سياقات أمنية مختلفة:
- استغلال المتصفح عبر عناصر صوت HTML5
- استغلال عملاء البريد الإلكتروني عبر المرفقات الصوتية
- استغلال خدمات النظام في mediaserverd
سيناريوهات الهجوم عن بُعد:
- هجمات عبر الويب من خلال محتوى صوتي خبيث
- استغلال تطبيقات المراسلة عبر مرفقات الرسائل الصوتية
- هجمات عبر البريد الإلكتروني باستخدام ملفات صوتية خبيثة
- تنزيلات Drive-by لمحتوى وسائط خبيث
نواقل الهجوم
- متصفحات الويب التي تعالج صوت/فيديو HTML5 بترميز APAC
- مشغلات الوسائط وتطبيقات البث
- تطبيقات المراسلة التي تتعامل مع المرفقات الصوتية
- عملاء البريد الإلكتروني الذين يعالجون محتوى الوسائط المتعددة
- خدمات وسائط النظام التي تعالج ملفات الصوت تلقائيًا
التخفيف
عالجت Apple هذه الثغرة في:
- iOS 18.4.1 (أبريل 2025)
- macOS 15.4.1 (أبريل 2025)
يتحقق الإصلاح من عدد القنوات بين التخطيطات العامة وتخطيطات إعادة التعيين قبل المعالجة، مما يمنع عدم التطابق الذي يسبب تجاوز سعة المخزن المؤقت.

إخلاء المسؤولية
إثبات المفهوم هذا مُقدَّم للأغراض التعليمية والبحثية فقط. ويوضح ثغرة أمنية حرجة في إطار عمل CoreAudio من Apple لمساعدة باحثي الأمن على فهم آليات الهجوم وتحسين الإجراءات الدفاعية.