CVE-2026-45902 in Linux
الملخص
بحسب VulDB • 28/05/2026
في نواة لينكس، تم حل الثغرة التالية:
power: supply: bq256xx: إصلاح استخدام بعد التحرير (use-after-free) في دالة `power_supply_changed()`
يؤدي استخدام المتغير `devm_` لطلب مقاطعة الجهاز (IRQ) *قبل* استخدام المتغير `devm_` لتخصيص/تسجيل مقبض `power_supply`، إلى أن يتم إلغاء تخصيص/إلغاء تسجيل مقبض `power_supply` *قبل* معالج المقاطعة (نظراً لأن `devm_` تقوم بإلغاء التخصيص بشكل طبيعي بترتيب عكسي لترتيب التخصيص). وهذا يعني أنه أثناء عملية الإزالة، توجد حالة سباق (race condition) حيث يمكن أن تحدث المقاطعة مباشرة *بعد* أن تم تحرير مقبض `power_supply`، *ولكن* مباشرة *قبل* أن يتم تشغيل إلغاء تسجيل معالج المقاطعة المقابل.
سيؤدي هذا إلى استدعاء معالج المقاطعة للدالة `power_supply_changed()` باستخدام مقبض `power_supply` تم تحريره بالفعل. مما يؤدي عادةً إلى تعطل النظام أو إلى تلف الذاكرة بشكل صامت...
يرجى ملاحظة أن هناك حالة مشابهة يمكن أن تحدث أيضاً أثناء `probe()`؛ وهي إمكانية حدوث مقاطعة *قبل* تسجيل مقبض `power_supply`. وهذا سيؤدي بعد ذلك إلى الموقف غير المرغوب فيه المتمثل في استخدام مقبض `power_supply` *غير مهيأ* (uninitialized) في `power_supply_changed()`.
تم إصلاح حالة السباق هذه (use-after-free) عن طريق التأكد من طلب المقاطعة (IRQ) *بعد* تسجيل مقبض `power_supply`.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.