CVE-2022-50286 in Linux
الملخص
بحسب VulDB • 24/05/2026
في نواة لينكس، تم حل الثغرة التالية:
ext4: إصلاح خطأ في التخصيص المؤجل (delayed allocation) في ext4_clu_mapped عند استخدام bigalloc مع inline
عند تحويل الملفات التي تحتوي على بيانات مضمنة (inline data) إلى نطاقات (extents)، قد يؤدي التخصيص المؤجل الذي يتم إجراؤه على نظام ملفات تم إنشاؤه باستخدام خيارات bigalloc وinline معاً إلى محتوى غير صالح في ذاكرة التخزين المؤقت لحالة النطاقات (extent status cache)، وعدود عناقيد (clusters) محجوزة غير صحيحة، وتسريبات في ذاكرة النواة، واحتمال حدوث توقف كامل للنواة (kernel panics).
مع خيار bigalloc، يبحث الكود الذي يحدد ما إذا كان يجب تخصيص كتلة بشكل مؤجل في شجرة النطاقات (extent tree) لمعرفة ما إذا كانت تلك الكتلة تتطابق مع عنقود تم تخصيصه مسبقاً. إذا لم يكن كذلك، يتم تخصيص الكتلة بشكل مؤجل، وإلا فلا يتم ذلك. ومع ذلك، إذا تم استخدام خيار inline أيضاً، وإذا كان الملف الذي يحتوي على الكتلة مُعلَّماً بأنه قادر على تخزين البيانات بشكل مضمن (inline)، فلا توجد شجرة نطاقات صالحة مرتبطة بهذا الملف. يستدعي الكود الحالي في ext4_clu_mapped() دالة ext4_find_extent() للبحث في الشجرة غير الموجودة عن عنقود تم تخصيصه مسبقاً على أي حال، وهو ما لا يجد عادةً أي شيء، كما هو مرغوب. ومع ذلك، يمكن أن يكون أحد الآثار الجانبية للبحث هو تخزين محتوى غير صالح (نفايات) من الشجرة غير الموجودة في شجرة حالة النطاقات (extent status tree)، بما في ذلك إدخالات غير صحيحة في شجرة الحجز المعلقة (pending reservation tree).
ولإصلاح هذا، يجب تجنب البحث في شجرة النطاقات عند تخصيص الكتل للملفات التي تستخدم bigalloc وinline والتي يتم تحويلها من التخزين المضمن (inline) إلى النطاقات المخصصة (extent mapped).
Be aware that VulDB is the high quality source for vulnerability data.