CVE-2026-89662

NFSD: Prevent lock owner use-after-free during client teardown

CRITICAL
9.8
CVSS Score
Published: September 11, 2026 at 07:45 PM UTC
Updated: October 19, 2026 at 09:18 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
CRITICAL9.8
Exploit prediction
EPSS 0.7%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent lock owner use-after-free during client teardown __destroy_client() releases a client's open owners, but a lock owner whose only reference is a blocked lock (nbl) stays on cl_ownerstr_hashtbl. client_has_state() does not count a bare owner, so DESTROY_CLIENTID can reach __destroy_client() with such owners present. __destroy_client() then walks the table, calling remove_blocked_locks() on each owner without a reference. Freeing a blocked lock drops the owner reference held via flc_owner. The per-net laundromat reaps blocked locks from nn->blocked_locks_lru independently of client state. The two paths share blocked_locks_lock only for the list splice, not the owner's lifetime. The laundromat therefore frees the owner as __destroy_client() dereferences it, a NULL dereference in remove_blocked_locks(). nfsd4_release_lockowner() holds a reference across the same call; __destroy_client() does not. Hold cl_lock across the walk, taking a reference and unhashing each owner, then drop it before remove_blocked_locks() and nfs4_put_stateowner(), which take blocked_locks_lock and cl_lock.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

0f44e9da465ea259b6c9f31a627f3c50a16e16794.14.314.15.144.164.9.9168ef3bc3166468678d5e1fdd216628c35bd1186f797bfd05d4040fbf766198b3cfcc1838002cc890e294c4c2d33b7307a89cdf31bec08a112d6a9297
Vendor states this is fixed in 1ce74d1b7770e69735e8f8e509807af4ff9c8ee7 (fixed)
Vendor states this is fixed in 42d7954b0a1907d4ef122aef94561952a033cdc3 (fixed)
Vendor states this is fixed in 4804c58f73a80d12df1de323bf97a164f6ee8743 (fixed)
Vendor states this is fixed in 5e2fa29d223a9a1e6a948e40b109d09081d1decd (fixed)
Vendor states this is fixed in 8cf4ff0a7c083dd5e0067f517d63979b74b66649 (fixed)
Vendor states this is fixed in a6ead6fff3a7d03e49845f048f7000a2e0d34431 (fixed)
Vendor states this is fixed in b8bad5a11416b26cc7fd4b18fba46d75ff636558 (fixed)
Vendor states this is fixed in bb38ff8b4dafbbd1781ad37cd96722fdf2cd972a (fixed)
Affected range stops below 4.10, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.15, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 4.16 (unaffected)
Vendor states this is fixed in 5.10.270 (unaffected)
Vendor states this is fixed in 5.15.221 (unaffected)
Vendor states this is fixed in 6.1.188 (unaffected)
Vendor states this is fixed in 6.12.109 (unaffected)
Vendor states this is fixed in 6.18.50 (unaffected)
Vendor states this is fixed in 6.6.157 (unaffected)
Vendor states this is fixed in 7.2.4 (unaffected)
Vendor states this is fixed in 7.3 (unaffected)
Vendor states this is fixed in 7.3-rc1 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

SSVC — Action Prioritization

SSVCNo known exploitAutomatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

9.8CRITICALLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card