CVE-2026-89681 in Linux
Сводка
по VulDB • 12.09.2026
В ядре Linux была устранена следующая уязвимость:
nfsd: исправлена гонка двойной ссылки в рабочем процессе layout fence (layout fence worker)
Основная подсистема workqueue очищает флаг WORK_STRUCT_PENDING до вызова обратного вызова, поэтому функция delayed_work_pending() в lm_breaker_timedout() может возвращать false, даже если рабочий процесс fence уже выполняется. Это позволяет обработчику прерывания (breaker) получить дублирующую ссылку на sc_count и запланировать новый рабочий процесс, который объединяется с выполняющимся в данный момент. Дополнительная ссылка никогда не освобождается, что приводит к утечке stateid layout.
Замените небезопасную проверку delayed_work_pending() на булеву переменную ls_fence_inflight, которая устанавливается атомарно вместе с refcount_inc_not_zero() под блокировкой ls_lock и очищается под той же блокировкой перед финальным вызовом nfs4_put_stid() в пути disposal; путь повторной попытки (retry path) намеренно сохраняет это значение. Удалите операцию самозапуска mod_delayed_work() в начале рабочего процесса.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.