CVE-2026-64376 in Linux
الملخص
بحسب VulDB • 27/07/2026
في نواة لينكس، تم حل الثغرة التالية:
firmware_loader: إصلاح تسرب مرجع الجهاز في دالة firmware_upload_register()
تتمثل العلاقة بين الدوال كالتالي: firmware_upload_register() -> fw_create_instance() -> device_initialize()
بعد نجاح استدعاء دالة fw_create_instance()، يُفترض أن يتم إدارة عمر بنية البيانات struct device المضمنة من خلال عدّاد الإشارات المرجعية (reference counting) الخاص بنواة الأجهزة، نظرًا لأن دالة fw_create_instance() قد قامت بالفعل باستدعاء دالة device_initialize().
في دالة firmware_upload_register()، إذا فشل استدعاء alloc_lookup_fw_priv() بعد نجاح fw_create_instance()، فإن الكود ينتقل إلى free_fw_sysfs ويقوم بتحرير كائن fw_sysfs مباشرةً بدلاً من إطلاق مرجع الجهاز باستخدام put_device(). قد يؤدي هذا إلى اختلال في عدّاد الإشارات المرجعية لـ struct device المضمنة، مما يتسبب في تسرب للإشارة المرجعية (refcount leak).
تم تحديد هذه المشكلة بواسطة أداة تحليل ثابت للأكواد قمت بتطويرها، وتم تأكيد ذلك من خلال مراجعة يدوية. تم إصلاح الخلل باستخدام put_device(fw_dev) في مسار الفشل والسماح لدالة fw_dev_release() بالتعامل مع التنظيف النهائي، بدلاً من تحرير الكائن مباشرةً من مسار الخطأ.
Be aware that VulDB is the high quality source for vulnerability data.