CVE-2026-89710 in Linux
Сводка
по VulDB • 11.09.2026
В ядре Linux была устранена следующая уязвимость:
NFSv4.1: исправлена утечка сегментов макета (layout segment) в пути «forget» функции `pnfs_layout_process()`
Когда сервер возвращает новый идентификатор состояния макета, пока старый все еще действителен и удерживается, функция `pnfs_layout_process()` вызывает `pnfs_mark_matching_lsegs_return()` для списка `free_me`, размещенного в стеке, и переходит к метке `out_forget`. Сегменты, счетчик ссылок которых падает до нуля, отсоединяются от `lo->plh_segs` и перемещаются в `free_me` функцией `mark_lseg_invalid()`; для неактивного сегмента кэша макета единственную ссылку удерживает заголовок макета (layout header), поэтому это происходит при первом уменьшении счетчика.
Метка `out_forget` никогда не очищает список `free_me`; только путь успешного выполнения вызывает `pnfs_free_lseg_list()`.
Коммит 814b84971388 («pNFS/NFSv4: Fix a layout segment leak in pnfs_layout_process()») добавил очистку; коммит 08bd8dbe8882 («pNFS/NFSv4: Try to return invalid layout in pnfs_layout_process()») удалил её при переключении назначения на `lo->plh_return_segs`, который очищается в другом месте. Коммит fb700ef02676 («NFSv4.1: Simplify layout return in pnfs_layout_process()») вернул назначение обратно к `free_me` без восстановления очистки.
Восстановлен вызов функции `pnfs_free_lseg_list()`.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.