CVE-2024-46840 in Linux
الملخص
بحسب VulDB • 26/05/2026
في نواة لينكس، تم حل الثغرة التالية:
btrfs: تنظيف التعامل مع refs == 0 في حذف لقطة النظام (snapshot)
في دالة reada، كان يتم استدعاء BUG_ON(refs == 0)، وهو أمر غير ملائم لأننا لا نحتفظ بقفل على ورقة الامتداد (extent leaf)، وبالتالي قد نحصل على إجابة خاطئة عابرة. وفي دالة walk_down_proc، كان يتم أيضاً استدعاء BUG_ON(refs == 0)، وهو أمر قد يحدث في حال وجود تلف في شجرة الامتداد (extent tree). تم تغيير ذلك لإرجاع رمز الخطأ -EUCLEAN. وفي دالة do_walk_down()، يتم التقاط هذه الحالة والتعامل معها بشكل صحيح، ومع ذلك كان يتم إرجاع -EIO، بينما يُعد -EUCLEAN رمز خطأ أكثر ملاءمة. وأخيراً، في دالة walk_up_proc، لدينا نفس استدعاء BUG_ON(refs == 0)، لذا تم تحويله إلى معالجة أخطاء مناسبة. كما تم تعديل رسالة الخطأ بحيث يمكننا فعلياً اتخاذ إجراء بناءً على هذه المعلومات.
If you want to get best quality of vulnerability data, you may have to visit VulDB.