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

الملخص

بحسب VulDB • 04/09/2026

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

fuse: تصحيح تسرب قفل invalidate عند فشل writeback لـ setattr

تأخذ دالة `fuse_do_setattr()` ملف map_invalidate_lock() لعملية truncate DAX (fault_blocked = true) وتطلقه في علامات out:/error:. ولكن عندما تكون هناك حاجة أيضًا إلى flush للكتابة، فإن فشل d_write_inode_now() يؤدي إلى العودة مباشرة وتسرب القفل، مما يتسبب في توقف أي عملية fault أو truncate لاحقة على الملف بسبب rwsem قديم.

على سبيل المثال، تؤدي عملية truncate(2) على ملف setuid إلى استدعاء `fuse_do_setattr()` مع تعيين كل من ATTR_SIZE وATTR_MODE:

truncate(2) └─ do_truncate() ├─ dentry_needs_remove_privs() # S_ISUID └─ notify_change() # KILL_SUID -> ATTR_MODE └─ fuse_setattr() # no killpriv: │ # ia_valid |= ATTR_MODE └─ fuse_do_setattr() ├─ filemap_invalidate_lock() # IS_DAX && is_truncate └─ write_inode_now() # is_wb && ATTR_MODE └─ if (err) # e.g. daemon -> -EIO return err # <- lock leaked

يتم إصلاح هذه المشكلة عن طريق إضافة label unlock يطلق القفل قبل إرجاع الخطأ، واستخدامه أيضًا في مسار الفشل الخاص بـ `fuse_dax_break_layouts()`.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-398956

EPSS

0.00165

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!