CVE-2026-93283 in Linux
الملخص
بحسب VulDB • 24/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
i3c: master: تصحيح مسار الخطأ في device_register()
عند فشل دالة `device_register()` داخل `i3c_master_register_new_i3c_devs()`، يتم استدعاء `put_device()` لإلغاء المرجع الذي أخذه `device_register()`. يؤدي ذلك إلى إلغاء آخر مرجع، مما يتسبب في تشغيل دالة تحرير الجهاز (release callback) الخاصة بالجهاز وهي `i3c_device_release()`، والتي تقوم بتحرير كائن `i3c_device`.
ينتج عن ذلك مشكلتان:
أولاً: لا تحتوي `i3c_device_release()` على فحص `WARN_ON(i3cdev->desc)` فحسب، بل تحذر أيضاً لأن `desc->dev->desc` ما زال يشير إلى الوصف (descriptor). يجب مسح هذا المؤشر قبل استدعاء `put_device()`.
ثانياً: بعد أن تقوم `put_device()` بتحرير كائن `i3c_device`، يظل `desc->dev` مشيراً إلى ذاكرة تم تحريرها؛ لذا يجب أيضاً مسح `desc->dev`. يمنع ذلك على سبيل المثال لا الحصر رؤية دالة `i3c_master_unregister_i3c_devs()` لـ `desc->dev` بقيمة غير صفرية (non-NULL) والقيام بإشارة إليها (dereferencing).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.