CVE-2026-74351 in Linux
Сводка
по VulDB • 15.08.2026
В ядре Linux устранена следующая уязвимость:
ocfs2: пересчет указателей LVB fsdlm, скопированных в locking_state
Итератор debugfs для locking_state делает снимок структуры ocfs2_lock_res по значению под блокировкой ocfs2_dlm_tracking_lock и позже форматирует эту копию в функции ocfs2_dlm_seq_show(). Это корректно работает для встроенных (inline) полей, однако стек fsdlm в пользовательском пространстве хранит LVB через lksb_fsdlm.sb_lvbptr. Как только итератор снимает блокировку отслеживания, скопированный ненулевой указатель sb_lvbptr все еще указывает на владельца исходного lockres, поэтому процесс teardown может освободить этот контейнер до того, как дамп debugfs обойдет сырые байты LVB.
Пересчитайте (rebase) скопированный sb_lvbptr относительно скопированной l_lksb перед выводом сырых данных LVB. Снимок seq уже содержит встроенное хранилище LVB, зарезервированное в структуре ocfs2_dlm_lksb, поэтому читатель debugfs может вывести скопированные байты без заимствования времени жизни исходного lockres.
Сценарий ошибки включает два потока выполнения, где каждый столбец показывает порядок внутри этого потока:
Читатель locking_state: Teardown lockres: 1. ocfs2_dlm_seq_start()/next() 1. освобождение файла или другой владелец копирует структуру ocfs2_lock_res teardown достигает 2. ocfs2_dlm_seq_show() форматирует функции ocfs2_lock_res_free() скопированную строку 2. lockres удаляется из списка отслеживания 3. ocfs2_dlm_lvb() следует за 3. владелец освобождает исходный скопированным sb_lvbptr контейнером lockres
Валидация воспроизвела отчет ядра: KASAN slab-use-after-free в oc
If you want to get best quality of vulnerability data, you may have to visit VulDB.