CVE-2026-89681

CVE-2026-89681

Critical · published September 12, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
45.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

nfsd: fix layout fence worker double-reference race

The workqueue core clears WORK_STRUCT_PENDING before the callback

is invoked, so delayed_work_pending() in lm_breaker_timedout() can

return false while the fence worker is already running. This lets

the breaker take a duplicate sc_count reference and schedule a new

worker that coalesces with the in-progress one. The extra reference

is never put, leaking the layout stateid.

Replace the racy delayed_work_pending() check with an

ls_fence_inflight boolean set atomically with

refcount_inc_not_zero() under ls_lock, and cleared under ls_lock

before the final nfs4_put_stid() on the dispose path; the retry

path intentionally retains it. Remove the self-rearm

mod_delayed_work() at the top of the worker.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00553 · 45.4th percentile
Published
2026-09-12T00:19Z
References (2)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:46Z
    nfsd: fix layout fence worker double-reference race
    cvelistv5