CVE-2026-93221
Received Received - Intake

Race Condition in Linux Kernel NFS Server

Vulnerability report for CVE-2026-93221, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-24

Last updated on: 2026-09-25

Assigner: kernel.org

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-24
Last Modified
2026-09-25
Generated
2026-09-25
AI Q&A
2026-09-24
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in the Linux kernel involves a race condition in the NFS server (nfsd) where multiple threads can concurrently access and modify a boolean flag without proper synchronization. Specifically, the grace_ended flag in nfsd_net is accessed without locks, leading to potential double-free errors and memory corruption when two threads both observe the flag as false and proceed to modify it simultaneously.

Detection Guidance

This vulnerability is specific to the Linux kernel's NFS server implementation and involves race conditions in the nfsd_net structure. Detection requires kernel-level inspection rather than network commands. Check kernel logs for NFS-related errors or crashes, particularly during grace period handling. Examine system logs for kernel panics or oops messages related to nfsd or NFS operations.

Impact Analysis

This vulnerability can cause system instability, crashes, or data corruption due to memory corruption and double-free errors. It may lead to denial-of-service conditions if the NFS server becomes unresponsive or if critical services relying on NFS fail. Users may experience data loss or unexpected behavior in applications using NFS shares.

Compliance Impact

This vulnerability does not directly affect compliance with standards like GDPR or HIPAA as it pertains to a race condition in the Linux kernel's NFS server (nfsd) that could lead to memory corruption and double-free errors. Compliance impacts would depend on whether the affected system processes personal data (GDPR) or protected health information (HIPAA), but the vulnerability itself is unrelated to data handling or privacy controls.

Mitigation Strategies

Apply the latest kernel security patches from your Linux distribution vendor. If patches are unavailable, consider disabling NFS server functionality until an update is applied. Monitor NFS-related processes for abnormal behavior. Restrict NFS exports to trusted networks only as a temporary measure.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-93221. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart