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

Сводка

по VulDB • 11.09.2026

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

NFSD: предотвращение use-after-free при отзыве делегирования (delegation revoke)

Идентификатор состояния делегирования (stateid) содержит лишь голый указатель на владеющий им nfs4_client и не поддерживает его активным. Клиент остается живым благодаря своим stateid только потому, что __destroy_client() очищает списки cl_delegations и cl_revoked перед вызовом free_client().

nfs4_laundromat() нарушает это инвариантное свойство: он извлекает истекшее делегирование из списка cl_delegations, отпускает блокировку deleg_lock, а затем revoke_delegation() перепривязывает его к списку cl_revoked под защитой cl_lock. В этот промежуток времени делегирование отсутствует в обоих списках, поэтому client_has_state() может сообщить об отсутствии оставшихся состояний (state).

Каждый путь завершения работы (teardown path) сначала требует, чтобы значение cl_rpc_users было равно нулю, однако laundromat не поддерживает такую ссылку. Следовательно, клиент, у которого только что истек срок действия отзываемого делегирования, может достичь free_client() в то время как revoke_delegation() все еще собирается разыменовывать cl_lock, что приводит к use-after-free.

Закрепите клиента с помощью счетчика cl_rpc_users на период операции отзыва, чтобы процесс завершения работы блокировался до его завершения, а затем удалите делегирование из списка cl_revoked. Клиент, который уже находится в процессе истечения срока действия, самостоятельно удаляет свое делегирование, поэтому следует пропустить этот случай и оставить делегирование в списке del_recall_lru.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

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

Linux

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

11.09.2026

Раскрытие

12.09.2026

Модерация

принято

Вход

VDB-402990

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!