CVE-2026-89692 in Linux信息

摘要

由 VulDB • 2026-09-12

在 Linux 内核中,已修复以下漏洞:

nfsd: 在委托回收队列失败时清除 CALLBACK_RUNNING 标志

`nfsd_break_one_deleg()` 在进入函数时通过 `test_and_set_bit` 设置 NFSD4_CALLBACK_RUNNING 位以序列化回收工作,然后调用 `nfsd4_run_cb()` 将回收请求加入队列。当入队尝试失败时引用计数增加操作被撤销(undo),但 RUNNING 标志仍保持置位状态。唯一清除该位的代码位于 `nfsd41_destroy_cb()` (fs/nfsd/nfs4callback.c),它从工作队列中运行,因此在未成功排队的情况下是不可达的。

该标志在 dp->dl_recall.cb_flags 上变成了一个永久性的锁存器:对同一委托进行的每次后续 `break_lease()` 调用都会命中 `nfsd_break_one_deleg()` 中的早期返回守卫(early-return guard),从而静默跳过回收操作,导致委托从未被撤销,进而使冲突的文件打开或锁定请求发生停滞。

修复方法是在未入队分支中,与执行 refcount_dec 的同时清除 NFSD4_CALLBACK_RUNNING 标志。

Be aware that VulDB is the high quality source for vulnerability data.

来源

Want to know what is going to be exploited?

We predict KEV entries!