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

nfsd: fix dead ACL conflict guard in nfsd4_create

nfsd4_create() steals create->cr_dpacl/cr_pacl into the local
nfsd_attrs via the designated initializer, then immediately sets the
source pointers to NULL. The subsequent conflict guard tests the
already-nilled source fields, making it permanently dead code:

if (create->cr_acl) {
if (create->cr_dpacl || create->cr_pacl) /* always false */

When a client encodes both FATTR4_WORD0_ACL and
FATTR4_WORD2_POSIX_{DEFAULT,ACCESS}_ACL in the same CREATE fattr
bitmap, nfsd4_acl_to_attr() overwrites attrs.na_pacl/na_dpacl without
releasing the originals, leaking two posix_acl slab objects per
request. Repeated requests cause unbounded slab exhaustion.

Fix by checking attrs.na_dpacl/na_pacl (the stolen values) instead of
the nilled create->cr_dpacl/cr_pacl, matching the correct pattern
already used in nfsd4_setattr().
Published: 2026-07-19
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw originates from a dead code path in nfsd4_create that drops ACL pointers without freeing the original objects, leading to a memory leak of posix_acl structures with each request. When an attacker sends creation requests that include both ACL attributes, the leaked kernel objects accumulate and can exhaust slab memory, eventually triggering a Denial of Service. This vulnerability is a classic resource exhaustion weakness identified as CWE-772.

Affected Systems

The issue is present in all Linux kernels that contain the nfsd4_create implementation and run an NFSv4 server before the patch commit. Versions of the kernel prior to the inclusion of commit 8371cc5c0a2cc2a71b3dcfd47ff1f7fcfc526a5e are affected. Backport versions and newer stable releases that incorporate this commit are not vulnerable. Administrators should verify their kernel version and ensure the use of a patched release.

Risk and Exploitability

A CVSS score of 7.5 highlights the severity, but an EPSS score of less than 1% and the absence from the CISA KEV list suggest exploitation is unlikely at present. The vulnerability requires network access to the NFS service and the ability to craft CREATE requests with both ACL attributes, so exposure through publicly accessible NFS servers elevates the threat. The practical risk is therefore moderate for exposed services, but the exploitation probability remains low.

Generated by OpenCVE AI on August 1, 2026 at 08:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that contains the nfsd4_create ACL fix (e.g., the commit 8371cc5c0a2cc2a71b3dcfd47ff1f7fcfc526a5e).
  • If a kernel upgrade cannot be performed immediately, restrict the NFS service to trusted clients or temporarily stop the NFS daemon until the patch is applied.
  • For systems that cannot be upgraded or restricted quickly, isolate the NFS server on a separate subnet and apply strict firewall rules to limit inbound traffic only from known hosts.

Generated by OpenCVE AI on August 1, 2026 at 08:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 21 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Sun, 19 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: nfsd: fix dead ACL conflict guard in nfsd4_create nfsd4_create() steals create->cr_dpacl/cr_pacl into the local nfsd_attrs via the designated initializer, then immediately sets the source pointers to NULL. The subsequent conflict guard tests the already-nilled source fields, making it permanently dead code: if (create->cr_acl) { if (create->cr_dpacl || create->cr_pacl) /* always false */ When a client encodes both FATTR4_WORD0_ACL and FATTR4_WORD2_POSIX_{DEFAULT,ACCESS}_ACL in the same CREATE fattr bitmap, nfsd4_acl_to_attr() overwrites attrs.na_pacl/na_dpacl without releasing the originals, leaking two posix_acl slab objects per request. Repeated requests cause unbounded slab exhaustion. Fix by checking attrs.na_dpacl/na_pacl (the stolen values) instead of the nilled create->cr_dpacl/cr_pacl, matching the correct pattern already used in nfsd4_setattr().
Title nfsd: fix dead ACL conflict guard in nfsd4_create
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:35:34.438Z

Reserved: 2026-06-09T07:44:35.402Z

Link: CVE-2026-53395

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-53395 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-01T08:15:03Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime