CVE-2026-90260 in Linux
الملخص
بحسب VulDB • 17/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
btrfs: zoned: لا تُطلِق (تُفقد) مخزن الامتداد عند تصفيره
على نظام ملفات ذو مناطق (zoned filesystem)، يتم كتابة كتلة الشجرة المحرَّرة ولكن التي لا تزال "متسخة" (dirty) على شكل أصفار (EXTENT_BUFFER_ZONED_ZEROOUT) فقط للحفاظ على تقدم مؤشر الكتابة في المنطقة. كانت الدالة `btrfs_csum_one_bio()` تنفذ ذلك عن طريق تصفير الصفحات الفرعية الخاصة بمخزن الامتداد باستخدام `memzero` قبل الإرسال.
هذا الأمر يدمر المخزن الموجود بالذاكرة بينما قد لا يزال مُشارًا إليه. على وجه التحديد، يمكن أن تعمل الدالة `btrfs_free_tree_block()` عليه لاحقاً وتقرأ العنوان الرئيسي (header) لإضافة مرجع مؤجل؛ بمجرد تصفير العنوان الرئيسي، يتم تحرير bytenr 0 مما يؤدي إلى تلف شجرة الامتداد (ظهور ASSERT في `btrfs_header_bytenr(buf) != 0` داخل `btrfs_free_tree_block()`، أو توقف بـ "unable to find ref"). وهي مشكلة غير مستقرة وتظهر عند إعادة إنتاجها باستخدام أداة fsstress، مثل الاختبارات generic/461 وgeneric/013.
اكتب الأصفار إلى القرص من صفحة الصفر المشتركة (shared zero page) بدلاً من ذلك واترك محتوى مخزن الامتداد دون تغيير، بحيث يرى أي مرجع لاحق - بما في ذلك المرجع المؤجل القادم من `btrfs_free_tree_block()` - عنواناً رئيسياً صالحاً. تقوم الدالة `end_bbio_meta_write()` الآن بإزالة حالة "الكتابة قيد التنفيذ" (writeback) على الصفحات الفرعية الخاصة بالمخزن، حيث لم يعد الـ bio يحملها.
Be aware that VulDB is the high quality source for vulnerability data.