Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain NFSv4 client access to nfsd export
-
DeliveryIssue RECLAIM_COMPLETE during grace period
-
ExploitRace laundromat grace-end drain
-
ExecutionConcurrent unlocked reclaim hashtable walk
-
PersistDouble-free/list corruption
-
ImpactKernel crash (DoS)
Vulnerability Assessment
| Exploitation Conditions | Requires the target host to be running the in-kernel NFS server (nfsd) with NFSv4 clients, and the vulnerable window is the NFSv4 grace period following server (re)start. Triggering the racing RECLAIM_COMPLETE path realistically requires being a permitted NFSv4 client of an export. Exploitation is limited by the need to win a tight, attacker-uncontrolled timing race between the laundromat kworker and a RECLAIM_COMPLETE compound reaching nfsd4_end_grace concurrently on separate CPUs; the third caller (nfs4_state_start_net skip_grace path) runs under nfsd_mutex before any client connects and cannot race. Hosts without nfsd enabled are unaffected. |
| Impact | The published CVSS 3.1 vector (8.1, AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H) overstates real-world risk. The root cause is a concurrency bug in the in-kernel NFS server (nfsd): the grace_ended boolean and other nfsd_net flags are read/written without serialization, so the laundromat kworker (nfs4_laundromat → nfsd4_end_grace) and an NFSv4 RECLAIM_COMPLETE compound (nfsd4_reclaim_complete → inc_reclaim_complete → nfsd4_end_grace) can both observe grace_ended==false, both enter nfsd4_record_grace_done, and both walk reclaim_str_hashtbl unlocked - corrupting the list and double-freeing every nfs4_client_reclaim, with a concurrent nfsd4_find_reclaim_client reading freed memory. This is fundamentally CWE-362 → double-free/UAF (memory corruption), which is crash/DoS-dominant; the C:H rating is generous (a narrow use-after-free read window exists but is not a controllable disclosure primitive). AC:H is correct - success depends on winning a tight timing window between two independent kernel contexts during the NFS grace period, which the attacker does not directly control. PR:N is also questionable: triggering the RECLAIM_COMPLETE path realistically requires being a permitted NFSv4 client of the export. There is NO EPSS score, NO CISA KEV listing, and NO public POC, so no signal of active or imminent exploitation. Net: a legitimate kernel hardening fix but far below the 8.1 headline - realistically a mid-severity, hard-to-time local/adjacent DoS rather than a network RCE-class priority. |
| Exploit ScenarioDerived | A permitted NFSv4 client repeatedly connects to an nfsd server and issues RECLAIM_COMPLETE operations timed against the periodic laundromat grace-period drain, hoping both paths reach nfsd4_end_grace simultaneously on different CPUs. If the race is won, reclaim_str_hashtbl is walked concurrently, causing list corruption and a double-free of nfs4_client_reclaim structures, typically panicking the server. No public exploit code exists and the timing window is narrow, so reliable weaponization is difficult. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
A race condition in the Linux kernel's in-kernel NFS server (nfsd) allows two concurrent callers of nfsd4_end_grace() to both see the non-atomic grace_ended boolean as unset during the NFSv4 grace period following server (re)start, causing both to run the grace-done drain of reclaim_str_hashtbl and corrupt the list with double-frees and use-after-free reads. The defect dates to Linux 5.2 and is resolved by vendor-released patches in Linux 7.2.4 and 7.3-rc1; no public exploit code has been identified at time of analysis, and there is no KEV entry or EPSS data indicating active exploitation. Exploitation realistically requires a permitted NFSv4 client of an export and winning a tight, attacker-uncontrolled timing race between the laundromat kworker and a RECLAIM_COMPLETE compound, so the published CVSS 8.1 vector overstates real-world risk; the assessed vector is AC:H/PR:L with limited confidentiality and integrity impact and high availability impact, and hosts that do not run nfsd are unaffected.
RemediationAI
Apply the vendor-released kernel fix: upgrade to Linux 7.2.4 or 7.3-rc1 (or a later release containing the upstream commits df5922fe09a8131c793ffa86adf204999b0470f8 and 11a5fe42e1811f793e04ef885b639ea7668f439d, available at https://git.kernel.org/stable/c/df5922fe09a8131c793ffa86adf204999b0470f8 and https://git.kernel.org/stable/c/11a5fe42e1811f793e04ef885b639ea7668f439d), and confirm that each downstream distribution has backported the equivalent change. If immediate kernel updates are not feasible, the highest-value compensating control is to reduce exposure of the vulnerable RECLAIM_COMPLETE path by restricting which hosts may reach the NFS service: tighten export permissions and client allowlists, firewall the NFS ports (2049 and the rpcbind/mountd range) to trusted networks, and require RPCSEC_GSS authentication, understanding that this limits availability for legitimate clients and does not eliminate the race for permitted clients. Where NFSv4 features are not required, disabling or not loading the in-kernel nfsd server, or serving only NFSv3 from user-space servers, removes the affected code path at the cost of losing NFSv4 semantics such as stateful reclaim and delegations; disabling nfsd entirely is not acceptable on hosts that must export NFS. Note that no public exploit code is known, so prioritization can follow normal kernel patch cadence, but the high availability impact and memory-corruption outcome make prompt scheduling advisable.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the kernel NFS server's per-network-namespace state structure, nfsd_net, which historically stored several plain boolean fields (including grace_ended, grace_end_forced, in_grace, somebody_reclaimed, track_reclaim_completes, nfsd_net_up, lockd_up) that are read and written from concurrent contexts without serialization. nfsd4_end_grace() tested the plain bool grace_ended and then set it to true as two independent operations, so the laundromat kworker path (nfs4_laundromat -> nfsd4_end_grace) and an NFSv4 compound kthread path (nfsd4_reclaim_complete -> inc_reclaim_complete -> nfsd4_end_grace) could both observe false on different CPUs and both proceed into nfsd4_record_grace_done(), invoking the active client_tracking_ops->grace_done callback. For tracking ops that drain reclaim_str_hashtbl (legacy_tracking_ops via nfsd4_recdir_purge_old, and the cld v1+ ops via nfsd4_cld_grace_done), grace_done calls nfs4_release_reclaim(), which walks every hash bucket without a lock and calls nfs4_remove_reclaim_record() (list_del followed by kfree) on each entry; two concurrent walkers therefore corrupt the reclaim list and double-free nfs4_client_reclaim objects, while nfsd4_find_reclaim_client() iterating the same bucket can read freed memory. This maps to the race-condition class (CWE-362) with secondary double-free (CWE-415) and use-after-free (CWE-416) consequences. The upstream fix replaces the scattered booleans with a single unsigned long flags word and an enum nfsd_net_flag bit layout, making the grace_ended transition atomic through test_and_set_bit() and converting the remaining flags to test_bit/set_bit/clear_bit, which also avoids sub-word cmpxchg limitations on architectures such as Hexagon that only support word-sized atomics. A third caller in nfs4_state_start_net() on the skip_grace startup path is not racy because it executes under nfsd_mutex before any client connects and before the laundromat's first delayed work fires.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
NFS-reachable so AV:N but a tight uncontrolled timing race gives AC:H; needs permitted NFSv4 client so PR:L; double-free/UAF is crash-dominant (A:H) with only incidental C:L/I:L.
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
4DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
nfsd: convert nfsd_net boolean flags to unsigned long flags word
nfsd_net contains several boolean fields that are accessed from concurrent contexts without serialization. In particular, nfsd4_end_grace() guards its drain path with a plain bool:
if (nn->grace_ended) return; nn->grace_ended = true;
The read and the write are independent, and nothing in struct nfsd_net serializes them. At least two contexts can reach this code with no lock held:
laundromat path laundry_wq kworker nfs4_laundromat() nfsd4_end_grace()
RECLAIM_COMPLETE path nfsd compound kthread nfsd4_reclaim_complete() inc_reclaim_complete() nfsd4_end_grace()
Both callers can observe grace_ended == false on different CPUs, both store true, and both proceed into nfsd4_record_grace_done(), which invokes the active client_tracking_ops->grace_done callback. For tracking ops that drain reclaim_str_hashtbl (legacy_tracking_ops via nfsd4_recdir_purge_old, and the cld v1+ ops via nfsd4_cld_grace_done), grace_done calls nfs4_release_reclaim(), which walks every bucket of reclaim_str_hashtbl with no lock and calls nfs4_remove_reclaim_record() (list_del + kfree) on each entry. Two concurrent walkers corrupt the list and double-free every nfs4_client_reclaim. A concurrent nfsd4_find_reclaim_client() iterating the same bucket reads through freed memory.
A third call site exists in nfs4_state_start_net() on the skip_grace startup path, but it runs under nfsd_mutex before any client has connected and before the laundromat's first delayed work fires, so it cannot race with the two callers above.
Replace the scattered boolean fields in nfsd_net with a single unsigned long flags word and an enum nfsd_net_flag for the bit positions. The grace_ended race is fixed by using test_and_set_bit(), which is atomic on all architectures. The remaining flags (grace_end_forced, in_grace, somebody_reclaimed, track_reclaim_completes, nfsd_net_up, lockd_up) are converted to use test_bit/set_bit/clear_bit for consistency. This avoids sub-word cmpxchg issues on architectures like Hexagon that only support word-sized atomic operations.
Executive ViewAI
A race condition in the Linux kernel's in-kernel NFS server (nfsd) can corrupt kernel memory and cause availability loss on servers that export NFSv4 file systems, potentially disrupting shared storage for dependent applications and users. Only organizations running vulnerable nfsd kernels with accessible NFSv4 exports are affected, and exploitation requires an authenticated NFSv4 client plus a difficult, attacker-uncontrolled timing condition; no public exploit identified at time of analysis and vendor patches are available.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | Affected |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.0 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.0 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise High Availability Extension 16.1 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.3 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.4 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Micro 5.5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Real Time 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.0 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.1 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro 6.2 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.0 | Affected |
| SUSE Linux Micro Extras 6.1 | Affected |
| SUSE Linux Micro Extras 6.1 | Affected |
| SUSE Real Time Module 15 SP7 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 12 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 12 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 11 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Micro 5.0 | Not-Affected |
| SUSE Linux Enterprise Micro 5.1 | Affected |
| SUSE Linux Enterprise Micro 5.2 | Affected |
| SUSE Linux Enterprise Micro 5.2 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Real Time 15 SP5 | Affected |
| SUSE Linux Enterprise Server 11 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 11 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| SUSE Real Time Module 15 SP4 | Affected |
| SUSE Real Time Module 15 SP5 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| SUSE Linux Enterprise Server for NVIDIA 16.1 | Affected |
EUVD-2026-85950
GHSA-r3mg-g23p-86c9
NVD
CVE.org
EPSS
VulDB
Exploit-DB