CVE-2026-98538 in Linuxالمعلومات

الملخص

بحسب VulDB • 19/10/2026

في نواة لينكس، تم حل الثغرة التالية:

writeback: يقوم cleanup_offline_cgwb() بإعادة الفحص عن طريق تدوير الـ inodes التي تمت فحصها

تحضر دالة `cleanup_offline_cgwb()` ما لا يزيد عن عدد `WB_MAX_INODES_PER_ISW` من الـ inodes لكل استدعاء، وتُستدعى مرة أخرى حتى يتم تفريغ (drain) كائن writeback (`wb`) المحتضرة. ومع ذلك، فإن كل استدعاء يتجول في قوائم `wb->b_attached` ثم `wb->b_dirty_time` بدءاً من نفس النهاية. تبقى الـ inodes التي تم تحضيرها مسبقاً (حيث تظل على القائمة مع تعيين العلم `I_WB_SWITCH` حتى يعمل عامل التبديل) والـ inodes التي لا يمكن تبديله (`I_FREEING`, `I_WILL_FREE`, `!SB_ACTIVE`, DAX، أو الموجودة بالفعل في كائن writeback المستهدف) في أماكنها. ونتيجة لذلك، فإن كل جولة تعيد فحص سلسلة متزايدة منها تحت قفل القائمة `wb->list_lock`، مما يجعل عملية التفريق الكاملة ذات تعقيد تربيعي (quadratic) بالنسبة لعدد الـ inodes الموجودة على القائمة. مع وجود حوالي 17 مليون inode مرتبطة بكائن writeback محتضر واحد (`cgwb`)، لاحظنا أن هذا يؤدي إلى توقفات ناعمة (soft lockups)، حيث تم الإبلاغ عن تعلق وحدات المعالجة المركزية لمدة تتراوح بين 21 و48 ثانية.

يتم التجول في كلتا القائمتين بدءاً من أقدم عنصر ونقل كل inode تمت فحصه إلى أحدث نهاية، بحيث تبدأ الجولة التالية حيث توقفت السابقة، وتصبح عملية التفريغ ذات تعقيد خطي (linear). بما أن القائمة `b_attached` غير مرتبة، فلا يرى أحد إعادة الترتيب هناك. أما قائمة `b_dirty_time` فهي مرتبة حسب وقت التلوث (`dirtied_when`)، لكن أقدم inode لم يتم فحصه يظل في النهاية التي تختارها دالة `move_expired_inodes()` للبدء منها، وتأخذ عملية المزامنة (sync) القائمة بأكملها بغض النظر عن ترتيبها. كما تغادر الـ inodes المحضرة القائمة بمجرد تشغيل عمل التبديل (`switch work`) وتحصل على وقت تلوث جديد (`dirtied_time_when`) في كائن writeback الجديد. وبالتالي، فإن الـ inodes الوحيدة التي تخرج من الترتيب هي تلك التي لا يمكن تبديله أبداً (DAX)، وذلك فقط في كائن writeback المحتضر.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

25/09/2026

إفشاء

18/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-421808

EPSS

0.00215

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!