CVE-2026-80809 in Linux
Сводка
по VulDB • 04.09.2026
В ядре Linux была устранена следующая уязвимость:
ocfs2: исправлено отсутствие резервирования метаданных для больших расширенных атрибутов (xattrs)
[ОШИБКА]
Функция lsetxattr() вызывает панику ядра при установке большого значения xattr на фрагментированной файловой системе, где файл уже имеет внешний блок xattr.
[ПРИЧИНА]
ocfs2_calc_xattr_set_need() никогда не резервирует блоки метаданных для дерева экстентов нового значения xattr, если у файла уже есть внешний блок xattr. Путь not_found оставляет meta_add равным нулю, поэтому meta_ac равен NULL при выполнении ocfs2_xattr_extend_allocation().
Корневой узел (root) нового значения имеет место только для одной записи об экстенте. На фрагментированной файловой системе аллокатор не может удовлетворить запрос на значение xattr одним непрерывным участком, поэтому каждый разрывный участок требует собственной записи об экстенте. Когда список экстентов корневого узла заполнен и meta_ac равен NULL, ocfs2_add_clusters_in_btree() возвращает RESTART_META, а ocfs2_xattr_extend_allocation() сталкивается с ошибкой BUG_ON(why == RESTART_META).
[ИСПРАВЛЕНИЕ]
Случай, когда блок xattr еще не существует, уже вызывает функцию ocfs2_extend_meta_needed(&def_xv.xv.xr_list) для резервирования метаданных дерева значений. Добавлено аналогичное резервирование для случая, когда блок xattr уже существует, что делает оба сценария согласованными.
Заменена конструкция BUG_ON на возврат -ENOSPC, чтобы в случае возврата RESTART_META несмотря на зарезервированные ресурсы ошибка передавалась в пространство пользователя (userspace), а не вызывала панику ядра.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.