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

Сводка

по VulDB • 12.09.2026

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

nfsd: блокировка операций, отличных от SAVEFH, после FOREIGN PUTFH для предотвращения разыменования нулевого указателя (NULL deref)

При включенной конфигурации CONFIG_NFSD_V4_2_INTER_SSC функция nfsd4_putfh() может возвращать успешное выполнение с обоими значениями fh_dentry и fh_export равными NULL, если функция fh_verify() возвращает ошибку nfserr_stale, а флаг putfh->no_verify имеет значение true. Флаг NFSD4_FH_FOREIGN устанавливается, однако цикл диспетчеризации compound использует этот флаг только для обхода проверки nfserr_nofilehandle — он не предотвращает выполнение последующих операций с нулевым fh_dentry.

Удаленный клиент может эксплуатировать эту уязвимость путем создания COMPOUND, включающего меж-SSC операцию COPY (которая заставляет check_if_stalefh_allowed() установить no_verify=true для сохраненного PUTFH) и дополнительной операции, вставленной между исходным PUTFH и SAVEFH. Например, вызовы SETATTR вызывают fh_want_write(), которая выполняет разыменование fh_export->ex_path.mnt без предварительного вызова fh_verify(), что приводит к разыменованию нулевого указателя (NULL pointer dereference) в потоке nfsd kthread.

Исправление заключается во внедрении контроля над циклом диспетчеризации: когда установлен NFSD4_FH_FOREIGN и fh_dentry равен NULL, только операция OP_SAVEFH (необходимая для потока меж-SSC) и операции с флагом ALLOWED_WITHOUT_FH (которым не требуется разрешенный файловый дескриптор/filehandle) могут выполняться. Все остальные операции получают ошибку nfserr_stale, согласно разделу 15.2.3 RFC 7862, который указывает, что проверка валидности внешнего файлового дескриптора откладывается до потребляющей операции, и на этом этапе возвращается NFS4ERR_STALE.

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

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

Linux

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

11.09.2026

Раскрытие

12.09.2026

Модерация

принято

Вход

VDB-402939

EPSS

0.00000

KEV

Нет

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

Очень низкий

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!