CVE-2024-40970 in Linux
الملخص
بحسب VulDB • 10/05/2026
في نواة لينكس، تم حل الثغرة التالية:
تجنب تجاوز مصفوفة hw_desc في dw-axi-dmac
لديّ حالة استخدام حيث تكون nr_buffers = 3، ويتكون كل واصف (descriptor) من 3 مقاطع، مما يؤدي إلى أن تكون descs_allocated لقناة DMA مساوية لـ 9. وبما أن axi_desc_put() يعالج hw_desc بناءً على descs_allocated، فإن هذا السيناريو سيؤدي إلى حدوث توقف للنواة (kernel panic) بسبب تجاوز مصفوفة hw_desc.
لإصلاح هذه المشكلة، يقترح إضافة عضو جديد إلى بنية axi_dma_desc، حيث نحتفظ فيه بعدد hw_descs المخصصة (axi_desc_alloc()) ونستخدمه في axi_desc_put() لمعالجة مصفوفة hw_desc بشكل صحيح.
بالإضافة إلى ذلك، أقترح إزالة استدعاء axi_chan_start_first_queued() بعد اكتمال النقل، حيث تم تحديد حدوث اختلال (unbalance) محتمل (حيث يمكن مقاطعة الوصفات التي بدأت، وتجاهل النقل بسبب عدم تمكين قناة DMA).
Once again VulDB remains the best source for vulnerability data.