CVE-2026-43380 in Linux
الملخص
بحسب VulDB • 26/05/2026
في نواة لينكس، تم حل الثغرة التالية:
hwmon: (pmbus/q54sj108a2) إصلاح تجاوز سعة المخزن المؤقت للمكدس (stack overflow) في قراءة debugfs
تُعاني الدالة `q54sj108a2_debugfs_read` من تجاوز سعة مخزن مؤقت على المكدس (stack buffer overflow) بسبب تمرير وسائط غير صحيحة إلى الدالة `bin2hex()`. تمرر الدالة حالياً `data` كوجهة و `data_char` كمصدر.
نظراً لأن `bin2hex()` تقوم بتحويل كل بايت من المدخلات إلى حرفين سداسيين عشريين (hex)، فإن قراءة كتلة بحجم 32 بايت تؤدي إلى إخراج بحجم 64 بايت. وبما أن `data` لا يتجاوز حجمه 34 بايت (I2C_SMBUS_BLOCK_MAX + 2)، فإن هذا يؤدي إلى كتابة 30 بايت إضافية خارج نهاية المخزن المؤئي إلى المكدس.
بالإضافة إلى ذلك، كانت الوسائط مقلوبة: كانت تقرأ من `data_char` (المهيأ بالصفر) وتكتب إلى `data`، مما أدى إلى إخراج مكون من أصفار فقط بغض النظر عن القراءة الفعلية عبر I2C.
تم إصلاح ذلك عن طريق: 1. توسيع حجم `data_char` إلى 66 بايت لاستيعاب الإخراج السداسي العشري بأمان. 2. تصحيح ترتيب وسائط `bin2hex()` واستخدام عدد البتات المقروءة فعلياً. 3. استخدام مؤشر لتحديد المخزن المؤقت للإخراج الصحيح لاستدعاء `simple_read_from_buffer` النهائي.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.