
تجاوز عدد صحيح في تحليل WebP في Apple ImageIO (macOS/iOS)
ثغرة تجاوز سعة عدد صحيح في إطار عمل ImageIO الخاص بشركة Apple عند تحليل صور WebP، مما يؤدي إلى وصول للذاكرة خارج النطاق.
الشرح الكامل - تحليل تفصيلي للسبب الجذري مع جولة في التفكيك.
يحدث تجاوز سعة عدد صحيح أثناء حساب بايتات الصف عند معالجة صور WebP غير صالحة. يؤدي التجاوز إلى تخصيص مخزن مؤقت بحجم أقل من المطلوب، يتم استبداله لاحقًا أثناء فك تشفير الصورة.
قد تؤدي معالجة صورة WebP ضارة إلى تنفيذ تعليمات برمجية عشوائية في سياق أي تطبيق يستخدم ImageIO (Safari، Preview، Mail، Messages، Quick Look، إلخ).
| المتأثرة | المصححة | |
|---|---|---|
| macOS | Monterey < 12.4 | 12.4 (مايو 2022) |
| iOS / iPadOS | < 15.5 | 15.5 |
| tvOS | < 15.5 | 15.5 |
| watchOS | < 8.6 | 8.6 |
تم الاختبار على macOS Monterey 12.0.1 و iOS 15.1
بناء وتشغيل الحزام:
./build_harness_standalone.sh
./harness_standalone intoverflow.webp
أو يمكن التشغيل عبر المتصفح عن طريق نشر trigger.html، أو ببساطة افتح الملف مباشرة:
open intoverflow.webp
Process: harness_standalone [12345]
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x...
Thread 0 Crashed:
0 libsystem_platform.dylib _platform_memset_pattern16 + ...
1 CoreGraphics CGSColorDataMakeCompositor + ...
2 CoreGraphics ripc_RenderImage + ...
3 CoreGraphics ripc_DrawImage + ...
4 ImageIO ...