nfsd: fix nfsd_file reference leak in nfsd4_add_rdaccess_to_wrdeleg()
Summary
| CVE | CVE-2025-71090 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-01-13 16:16:08 UTC |
| Updated | 2026-07-30 06:24:50 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved: nfsd: fix nfsd_file reference leak in nfsd4_add_rdaccess_to_wrdeleg() nfsd4_add_rdaccess_to_wrdeleg() unconditionally overwrites fp->fi_fds[O_RDONLY] with a newly acquired nfsd_file. However, if the client already has a SHARE_ACCESS_READ open from a previous OPEN operation, this action overwrites the existing pointer without releasing its reference, orphaning the previous reference. Additionally, the function originally stored the same nfsd_file pointer in both fp->fi_fds[O_RDONLY] and fp->fi_rdeleg_file with only a single reference. When put_deleg_file() runs, it clears fi_rdeleg_file and calls nfs4_file_put_access() to release the file. However, nfs4_file_put_access() only releases fi_fds[O_RDONLY] when the fi_access[O_RDONLY] counter drops to zero. If another READ open exists on the file, the counter remains elevated and the nfsd_file reference from the delegation is never released. This potentially causes open conflicts on that file. Then, on server shutdown, these leaks cause __nfsd_file_cache_purge() to encounter files with an elevated reference count that cannot be cleaned up, ultimately triggering a BUG() in kmem_cache_destroy() because there are still nfsd_file objects allocated in that cache. |
Risk And Classification
Primary CVSS: v3.1 5.5 MEDIUM from [email protected]
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS: 0.001810000 probability, percentile 0.079410000 (date 2026-08-01)
Problem Types: NVD-CWE-Other
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 5.5 | MEDIUM | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Secondary | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| 3.1 | CNA | DECLARED | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
CVSS v3.1 Breakdown
Attack Vector
LocalAttack Complexity
LowPrivileges Required
LowUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Linux | Linux Kernel | All | All | All | All |
| Operating System | Linux | Linux Kernel | 6.17 | - | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc1 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc2 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc3 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc4 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc5 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc6 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc7 | All | All |
| Operating System | Linux | Linux Kernel | 6.19 | rc8 | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected e7a8ebc305f26cab608e59a916a4ae89d6656c5f c07dc84ed67c5a182273171639bacbbb87c12175 git | Not specified |
| CNA | Linux | Linux | affected e7a8ebc305f26cab608e59a916a4ae89d6656c5f 8072e34e1387d03102b788677d491e2bcceef6f5 git | Not specified |
| CNA | Linux | Linux | affected 6.17 | Not specified |
| CNA | Linux | Linux | unaffected 6.17 semver | Not specified |
| CNA | Linux | Linux | unaffected 6.18.4 6.18.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.19 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/8072e34e1387d03102b788677d491e2bcceef6f5 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| git.kernel.org/stable/c/c07dc84ed67c5a182273171639bacbbb87c12175 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.