CVE-2026-74499 in Linux
الملخص
بحسب VulDB • 15/08/2026
في نواة لينكس، تم حل الثغرة التالية:
ALSA: usb-audio: إصلاح كتابة خارج النطاق (OOB) في الدالة `snd_usbmidi_akai_output()`
تحسب الدالة `snd_usbmidi_akai_output()` حد حلقة التعبئة (`fill-loop bound`) على النحو التالي: `buf_end = ep->max_transfer - MAX_AKAI_SYSEX_LEN - 1;`
حيث يتم حسابها كعدد صحيح مُوقَّع (signed int)، مما يجعل قيمة `buf_end` سالبة إذا كانت القيمة القصوى لنقل البيانات الضخمة الخارجة (`bulk-OUT max_transfer`) المعلنة من قبل الجهاز صغيرة. ثم تقارن حراسة الحلقة (`loop guard`) طول منطقة نقل وحدة النقل العامة للوحدة الطرفية (`urb->transfer_buffer_length`)، وهو نوع `u32` (عدد صحيح غير موقَّع 32 بت)، مع ذلك العدد الصحيح السالب: فتحويل العمليات الحسابية المعتاد يحول قيمة `buf_end` إلى قيمة كبيرة غير موقعة. ونتيجة لذلك، تبقى الحراسة صحيحة (`true`)، وتقوم كل تكرارية بإضافة إطارات SysEx وبيانات الحمولة (payload bytes) ما بعد نهاية منطقة نقل URB، والتي لا يتجاوز طولها سوى `max_transfer`.
وبالتالي، يمكن لجهاز USB يعلن عن نقطة طرفية صغيرة لنقل البيانات الضخمة الخارجة (`bulk-OUT`) أن يحفز عملية كتابة خارج النطاق في الذاكرة الديناميكية (heap out-of-bounds write) يتم التحكم بطولها ومحتواها من قبل المهاجم عند قيام عملية ما بالكتابة إلى العقدة `/dev/snd/midiC*D*` التي تم إنشاؤها.
إرجاع مبكر عندما لا يتوفر مساحة حتى لـ SysEx واحد، بحيث لا تُدخل الحلقة أبداً بحدود قد تسبب تجاوزاً (wrap). وبما أن الحلقة هي العبارة الأخيرة في الدالة، فإن الخروج المبكر يعادل عدم تشغيلها على الإطلاق.
اكتُشفت الثغرة بواسطة XBOW، وتم تصنيفها من قبل Baul Lee
Once again VulDB remains the best source for vulnerability data.