كشفت JFrog Security Research مؤخرًا عن “PixelSmash”، وهي ثغرة خطيرة تؤثر على إطار عمل الوسائط FFmpeg. يسمح الخلل، الذي استمر داخل قاعدة التعليمات البرمجية لمدة ستة عشر عامًا، بتنفيذ التعليمات البرمجية عن بعد (RCE) وهجمات رفض الخدمة (DoS). من خلال تسليم ملف وسائط مصمم خصيصًا إلى نظام ضعيف، يمكن للمهاجم تنفيذ تعليمات برمجية عشوائية أو تعطل التطبيق. يعد اكتشاف الخلل الذي ظل كامنًا لأكثر من عقد من الزمن، على الرغم من التاريخ الطويل لـ FFmpeg في الاختبار الآلي، جزءًا من أحدث موجة من اكتشاف الثغرات الأمنية منذ تقديم النماذج الحدودية التي تركز على الأمن السيبراني.

تم تحديده بواسطة CISA كـ CVE-2026-8461 (CVSS 8.8 High)، فهو يسمح بالكتابة خارج الحدود في وحدة فك ترميز MagicYUV. تعد الكتابة خارج الحدود كافية لتعطل أي تطبيق يستخدم FFmpeg. تعمل الطبيعة المنتشرة في كل مكان لعائلة برامج ترميز الفيديو على تضخيم نطاق الانفجار، مما يؤثر على مجموعة واسعة من التطبيقات – بدءًا من مشغلات الفيديو المكتبية مثل Kodi وmpv، إلى مولدات الصور المصغرة لمدير ملفات Linux، إلى خطوط أنابيب تحويل الشفرة السحابية وخوادم الوسائط المستضافة ذاتيًا. أظهر الباحثون الأمنيون الاستغلال الكامل من خلال تحقيق تنفيذ التعليمات البرمجية عن بعد على هدفين مستقلين: خادم وسائط Jellyfin (من خلال المسح التلقائي للمكتبة) ومثيل Nextcloud (من خلال موفر معاينة الفيديو) – في كلتا الحالتين، ببساطة عن طريق تحميل ملف AVI مصمم بحجم 50 كيلوبايت.

لاستغلال PixelSmash، يحتاج المهاجم إلى تسليم ملف وسائط معد (حاوية AVI أو MKV أو MOV) إلى أي تطبيق يقوم بفك تشفير الفيديو باستخدام libavcodec الخاص بـ FFmpeg. وهذا يشمل:

  • سطح المكتب: يقوم المستخدم بفتح الملف الضار في مشغل فيديو، أو ببساطة يتصفح للوصول إلى مجلد يحتوي عليه (يؤدي مولد الصور المصغرة لمدير الملفات إلى تشغيل الثغرة الأمنية).
  • جانب الخادم: يقوم المستخدم بتحميل الملف إلى خادم وسائط (Jellyfin، وEmby، وNextcloud، وImmich)، أو منصة الدردشة (Slack، وDiscord، وTelegram)، أو خدمة تحويل الشفرة السحابية (AWS MediaConvert، وCloudflare Stream) – يقوم الخادم بمعالجته تلقائيًا.
  • جزءا لا يتجزأ من / إنترنت الأشياء: أي جهاز NAS (Synology، QNAP)، أو تلفزيون ذكي، أو جهاز وسائط يقوم بإنشاء صور مصغرة أو معاينات للفيديو.

لا يلزم وجود مصادقة أو امتيازات خاصة أو وصول مسبق إلى النظام المستهدف بما يتجاوز القدرة على تسليم ملف وسائط – وهو سطح الهجوم الافتراضي لأي تطبيق لمعالجة الوسائط.

تم تمكين وحدة فك ترميز MagicYUV للأنظمة الضعيفة. يتم تمكين هذا افتراضيًا في إطار عمل FFmpg، ووفقًا للباحثين الأمنيين، فقد وجدوا أنه ممكّنًا في كل حزمة توزيع قاموا باختبارها (Ubuntu، وDebian، وFedora، وArch، وAlpine) قبل الإصدار 9.0. لاكتشاف ما إذا كنت متأثرًا بالثغرة الأمنية، تحتاج إلى التحقق مما إذا كانت وحدة فك ترميز MagicYUV موجودة على نظامك:


ffmpeg -decoders 2>/dev/null | grep magicyuv

إذا كان الإخراج يشمل VFS..D ماجيكيف، فإن بنية FFmpeg الخاصة بك معرضة للخطر. إذا لم تكن الترقية إلى الإصدارات التي تتضمن الإصلاح ممكنة، فيمكنك إعادة إنشاء FFmpeg بدون برنامج الترميز الضعيف:


./configure --disable-decoder=magicyuv [your other flags] < make && make install

الحل السريع الآخر هو تطبيق الحد الأدنى من التصحيح – 7 أسطر من الحد الأدنى من التصحيح تمت إضافتها إلى libavcodec/magicyuv.c:


if (s->slice_height <= 0 || s->slice_height > INT_MAX - avctx->coded_height) {
av_log(avctx, AV_LOG_ERROR, "invalid slice height: %d\n", s->slice_height);
return AVERROR_INVALIDDATA;
}

+ if ((s->slice_height >> s->vshift[1]) <= s->interlaced) {
+ av_log(avctx, AV_LOG_ERROR, "impossible slice height\n");
+ return AVERROR_INVALIDDATA;
+ }
+ if ((avctx->coded_height % s->slice_height) && ((avctx->coded_height % + s->slice_height) >> s->vshift[1]) <= s->interlaced) {
+ av_log(avctx, AV_LOG_ERROR, "impossible height\n");
+ return AVERROR_INVALIDDATA;

وفقًا للباحثين، يرفض هذا الإصلاح قيم Slice_height المشوهة التي تؤدي إلى كتابة OOB. يقوم برنامج التشفير MagicYUV المرجعي دائمًا بإصدار ارتفاعات شرائح محاذية، لذلك يرفض هذا فقط المدخلات الضارة.

يعد PixelSmash بمثابة تذكير بأن سلسلة توريد البرامج الحديثة يمكن أن تكون هشة إلى حد ما. خطأ واحد داخل مكتبة أساسية مثل مكتبة FFmpeg libavcodec لا تبقى مجرد قضية محلية.

وبالتفكير في مناقشة الصناعة الأوسع، أعرب المستخدمون في المنتديات عبر الإنترنت عن قلقهم المتزايد بشأن الاعتماد المستمر على قواعد التعليمات البرمجية القديمة القائمة على لغة C لمثل هذه المكونات عالية المخاطر والحيوية للأداء. هناك إحباط واضح من أن الممارسات الأمنية الحديثة يتم تقويضها في كثير من الأحيان بسبب القيود المتأصلة في سلامة الذاكرة في البنية القديمة، حيث يدعو العديد من المطورين إلى الانتقال ذي الأولوية نحو بدائل آمنة للذاكرة، أو على الأقل، تدقيق أمني آلي أكثر قوة للمكتبات التأسيسية.



شاركها.
اترك تعليقاً