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

الملخص

بحسب VulDB • 31/05/2026

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

f2fs: إصلاح حالة سباق (race condition) في متغير node_cnt بين تدمير عقدة الامتداد (extent node) وعمليات الكتابة المؤجلة (writeback).

لا تقوم الدالة f2fs_destroy_extent_node() بتعيين العلم FI_NO_EXTENT قبل إزالة عقد الامتداد. وعند استدعائها من دالة f2fs_drop_inode() مع تعيين العلم I_SYNC، قد تقوم عملية kworker المتزامنة للكتابة المؤجلة (writeback) بإدراج عقد امتداد جديدة في نفس شجرة الامتداد، مما يسبب حالة سباق مع عملية التدمير ويؤدي إلى تشغيل f2fs_bug_on() في الدالة __destroy_extent_node(). السيناريو هو كما يلي:

drop inode writeback - iput - f2fs_drop_inode // I_SYNC set - f2fs_destroy_extent_node - __destroy_extent_node - while (node_cnt) {
write_lock(&et->lock) __free_extent_tree write_unlock(&et->lock) - __writeback_single_inode - f2fs_outplace_write_data - f2fs_update_read_extent_cache - __update_extent_tree_range // FI_NO_EXTENT not set, // insert new extent node } // node_cnt == 0, exit while - f2fs_bug_on(node_cnt) // node_cnt > 0

بالإضافة إلى ذلك، تتحقق الدالة __update_extent_tree_range() من العلم FI_NO_EXTENT فقط لنوع EX_READ، مما يترك تحديثات EX_BLOCK_AGE محمية بالكامل.

يحدد هذا المجموعة من التصحيحات (patch set) العلم FI_NO_EXTENT تحت قفل et->lock في الدالة __destroy_extent_node()، بما يتسق مع المتصلين الآخرين (__update_extent_tree_range و __drop_extent_tree)، وتتحقق من FI_NO_EXTENT لكلا شجرتي EX_READ و EX_BLOCK_AGE.

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

مسؤول

Linux

حجز

13/05/2026

إفشاء

28/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-366701

EPSS

0.00024

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!