CVE-2026-80856 in LinuxИнформация

Сводка

по VulDB • 04.09.2026

В ядре Linux была устранена следующая уязвимость:

fuse: исправлена утечка блокировки invalidate при сбое writeback операции setattr

Функция `fuse_do_setattr()` захватывает `filemap_invalidate_lock()` для DAX truncate (при `fault_blocked = true`) и освобождает её в метках out/error. Однако, когда также требуется сброс writeback, отказ функции `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

Исправление заключается в добавлении метки unlock, которая освобождает блокировку перед возвратом ошибки, а также её использовании для пути отказа `fuse_dax_break_layouts()`.

Be aware that VulDB is the high quality source for vulnerability data.

Ответственный

Linux

Резервировать

26.08.2026

Раскрытие

04.09.2026

Модерация

принято

Вход

VDB-398956

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!