Skip to main content

Linux Kernel EUVDEUVD-2026-45519

| CVE-2026-53397 HIGH
Memory Leak (CWE-401)
2026-07-19 Linux GHSA-mpc7-4w3v-v47r
7.5
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.3 MEDIUM

Network-reachable nfsd with typically no strong auth (PR:N, AC:L); leak is small per request requiring sustained volume, so A:L not A:H; no C/I impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE
6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 15:25 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
7.5 (HIGH)
Patch available
Jul 19, 2026 - 14:17 EUVD
CVE Published
Jul 19, 2026 - 12:01 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 12:01 cve.org
HIGH 7.5

DescriptionCVE.org

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

nfsd: fix posix_acl leak on SETACL decode failure

nfsaclsvc_decode_setaclargs() and nfs3svc_decode_setaclargs() each call nfs_stream_decode_acl() twice, first for NFS_ACL and then for NFS_DFACL. Each successful call transfers ownership of a freshly allocated posix_acl into argp->acl_access or argp->acl_default. If the first call succeeds but the second fails, the decoder returns false and argp->acl_access is left dangling.

ACLPROC2_SETACL.pc_release was wired to nfssvc_release_attrstat and ACLPROC3_SETACL.pc_release was wired to nfs3svc_release_fhandle. Both only call fh_put() and have no knowledge of the ACL fields on argp. The posix_acl_release() pairs sat at the out: labels inside nfsacld_proc_setacl() and nfsd3_proc_setacl(), but svc_process() skips pc_func when pc_decode returns false, so that cleanup is unreachable on decode failure:

svc_process_common() pc_decode() /* decode_setaclargs: false */ /* pc_func skipped */ pc_release() /* fh_put only -- ACLs leaked */

The orphaned posix_acl is leaked for the lifetime of the server.

Fix by adding nfsaclsvc_release_setacl() and nfs3svc_release_setacl(), which release both argp->acl_access and argp->acl_default in addition to fh_put(), and wiring them as pc_release for their respective SETACL procedures. pc_release runs on every path svc_process() takes after decode, including decode failure, so the posix_acl_release() pairs are removed from the proc functions' out: labels to keep ownership in one place. This matches the existing release_getacl() pattern used by the sibling GETACL procedures.

AnalysisAI

Denial of service in the Linux kernel's NFS server (nfsd) ACL handling allows remote clients to leak kernel memory by sending SETACL requests that fail decoding partway through. When nfsaclsvc_decode_setaclargs() (NFSv2 ACL) or nfs3svc_decode_setaclargs() (NFSv3 ACL) successfully decodes the NFS_ACL entry but then fails on the NFS_DFACL entry, the already-allocated posix_acl is orphaned for the server's lifetime because the wired pc_release handlers only performed fh_put() and svc_process() skips the proc function (where cleanup lived) on decode failure. There is no public exploit identified at time of analysis and this is not in CISA KEV; the impact is gradual memory exhaustion rather than code execution or data disclosure.

Technical ContextAI

The affected component is nfsd, the in-kernel NFS server, specifically its NFSACL sideband protocol used to transport POSIX ACLs over NFSv2 (ACLPROC2_SETACL) and NFSv3 (ACLPROC3_SETACL). SETACL arguments carry two ACLs - an access ACL (NFS_ACL) and a default ACL (NFS_DFACL) - each decoded by a separate nfs_stream_decode_acl() call that allocates a posix_acl and transfers ownership into argp->acl_access or argp->acl_default. The root cause is a resource-management defect best classified as CWE-401 (Missing Release of Memory After Effective Lifetime): the SUNRPC dispatch (svc_process_common) invokes pc_decode, then pc_func only on success, then pc_release on every path. Because the posix_acl_release() cleanup was placed at the out: labels inside nfsacld_proc_setacl()/nfsd3_proc_setacl() (which are skipped when decode returns false) and the pc_release handlers (nfssvc_release_attrstat / nfs3svc_release_fhandle) knew nothing about the ACL fields, a partial decode leaked the first ACL permanently. The CWE was reported as N/A but the mechanism is a classic kernel slab leak.

RemediationAI

Vendor-released patch: upgrade to the fixed kernel for your series - 5.10.260, 5.15.211, 6.1.177, 6.6.144, 6.12.95, 6.18.38, 7.1.3, or mainline 7.2-rc1 - which adds nfsaclsvc_release_setacl() and nfs3svc_release_setacl() to release both acl_access and acl_default on every dispatch path including decode failure (fix commits at https://git.kernel.org/stable/c/b94c4be77682aab06d65ca7296149e3bcfb37353 and siblings; advisory https://nvd.nist.gov/vuln/detail/CVE-2026-53397). If patching cannot be done immediately, the effective compensating control is to reduce exposure of the NFSACL service: restrict access to the NFS/nfsd ports (TCP/UDP 2049 and the ACL/mount RPC program) to trusted client subnets via firewall or the exports allow-list, which prevents untrusted clients from sending malformed SETACL requests but does not stop a trusted-but-compromised client. Alternatively, disable NFS ACL support on exports (mount/export without ACL) or stop nfsd where the NFS server role is not required - the trade-off is loss of POSIX ACL propagation over NFS or loss of NFS service entirely. Monitor kernel slab usage as a detection aid while unpatched.

Vendor 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

Share

EUVD-2026-45519 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy