{"id":"CVE-2026-89681","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-89681","summary":"nfsd: fix layout fence worker double-reference race","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix layout fence worker double-reference race\n\nThe workqueue core clears WORK_STRUCT_PENDING before the callback\nis invoked, so delayed_work_pending() in lm_breaker_timedout() can\nreturn false while the fence worker is already running. This lets\nthe breaker take a duplicate sc_count reference and schedule a new\nworker that coalesces with the in-progress one. The extra reference\nis never put, leaking the layout stateid.\n\nReplace the racy delayed_work_pending() check with an\nls_fence_inflight boolean set atomically with\nrefcount_inc_not_zero() under ls_lock, and cleared under ls_lock\nbefore the final nfs4_put_stid() on the dispose path; the retry\npath intentionally retains it.  Remove the self-rearm\nmod_delayed_work() at the top of the worker.","published":"2026-09-11T19:46:04.121Z","modified":"2026-09-14T03:46:24.342630180Z","cvss":{"score":9.8,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"Linux","name":"Kernel","fixedVersion":"7.2.4"}],"fix":null,"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/8580571227451384399b3fa53fcde19848c48e5a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a278d361e0e8f242211891193d56483a7a9f47a8"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89681.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89681"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-14T03:46:24.342630180Z"}}