Skip to main content

Linux Kernel CVE-2026-53399

| EUVDEUVD-2026-45454 CRITICAL
NULL Pointer Dereference (CWE-476)
2026-07-19 Linux GHSA-f4wg-8884-3qg5
Critical
Disputed · 9.8 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.9 MEDIUM

NFS is network-reachable (AV:N) but exploitation needs export access (PR:L) and forcing a specific setlease failure/race (AC:H); impact is mainly a kernel crash (A:H) with possible info leak (C:L).

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:H
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:L/VI:N/VA:H/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 HIGH
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

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

Lifecycle Timeline

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

DescriptionCVE.org

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

nfsd: release layout stid on setlease failure

nfs4_alloc_stid() publishes the new stid into cl->cl_stateids via idr_alloc_cyclic() under cl_lock before returning to nfsd4_alloc_layout_stateid(). When nfsd4_layout_setlease() then fails, the error path frees the layout stateid directly with kmem_cache_free() without ever calling idr_remove(), leaving the IDR slot pointing at freed slab memory. Any subsequent IDR walker (states_show, client teardown) dereferences the dangling pointer.

The correct teardown for an IDR-published stid is nfs4_put_stid(), which removes the IDR slot under cl_lock, dispatches sc_free (nfsd4_free_layout_stateid) to release ls->ls_file via nfsd4_close_layout(), and drops the nfs4_file reference in its tail.

A second issue blocks that switch: nfsd4_free_layout_stateid() unconditionally inspects ls->ls_fence_work via delayed_work_pending() under ls_lock, but INIT_DELAYED_WORK(&ls->ls_fence_work, ...) currently runs only after the setlease call. On the setlease-failure path the destructor would touch an uninitialized delayed_work.

nfsd4_alloc_layout_stateid() nfs4_alloc_stid() /* idr_alloc_cyclic under cl_lock */ nfsd4_layout_setlease() /* fails */ nfs4_put_stid() nfsd4_free_layout_stateid() delayed_work_pending(&ls->ls_fence_work) /* needs INIT */ nfsd4_close_layout() /* nfsd_file_put(ls->ls_file) */ put_nfs4_file()

Fix by hoisting the ls_fenced / ls_fence_delay / INIT_DELAYED_WORK initialization above the nfsd4_layout_setlease() call, and replace the manual nfsd_file_put + put_nfs4_file + kmem_cache_free cleanup with a single nfs4_put_stid(stp).

AnalysisAI

Use-after-free in the Linux kernel NFS server (nfsd) pNFS layout code allows an NFSv4.1+ client to leave a freed layout state ID published in the client's IDR when nfsd4_layout_setlease() fails, so any later IDR walk (states_show, client teardown) dereferences a dangling slab pointer. The affected component is the pNFS block/SCSI/flexfiles layout server path on kernels between commit c5c707f96fc9 and the fixed stable releases. No public exploit has been identified and it is not in CISA KEV; the practical impact is kernel memory corruption leading to crash (DoS) and possible information disclosure per the vendor tag, though the auto-assigned CVSS of 9.8 significantly overstates real-world exploitability.

Technical ContextAI

The bug lives in the Linux kernel NFSv4.1 pNFS layout stateid lifecycle in fs/nfsd. nfs4_alloc_stid() publishes a new stateid into cl->cl_stateids via idr_alloc_cyclic() under cl_lock before nfsd4_alloc_layout_stateid() returns. On the setlease-failure path the original code freed the layout stateid directly with kmem_cache_free() without calling idr_remove(), so the IDR slot kept pointing at freed slab memory - a classic CWE-416 use-after-free, compounded by a CWE-908 use-of-uninitialized-resource because nfsd4_free_layout_stateid() inspects ls->ls_fence_work via delayed_work_pending() before INIT_DELAYED_WORK() had run. Correct teardown for an IDR-published stid is nfs4_put_stid(), which removes the IDR slot under cl_lock and dispatches sc_free to release ls->ls_file and drop the nfs4_file reference. The fix hoists the ls_fenced/ls_fence_delay/INIT_DELAYED_WORK initialization above the setlease call and replaces the manual cleanup with a single nfs4_put_stid(stp).

RemediationAI

Vendor-released patch: upgrade to Linux kernel 6.12.96, 6.18.39, 7.1.3, or 7.2-rc1 (or your distribution's backported equivalent), which replace the manual kmem_cache_free cleanup with nfs4_put_stid() and move the ls_fence_work initialization ahead of the setlease call; the fix commits are at https://git.kernel.org/stable/c/d369e5edfaaf83a448016e2f1da392b2174be801, https://git.kernel.org/stable/c/8dee7c278f1c2b5bb80e17a6281c3812fc8b0cdd, https://git.kernel.org/stable/c/83c2b7797742339bb768f83935f7ca33950db138, and https://git.kernel.org/stable/c/30d55c8aabb261bc3f427d6b9aae7ef6206063f9. If immediate patching is not possible, the most effective compensating control is to disable pNFS layout serving on nfsd (do not export block/SCSI/flexfiles layouts; serve plain NFSv4 instead), which removes the vulnerable code path at the cost of losing pNFS performance benefits; alternatively restrict NFS export access to trusted client subnets via firewall and exportfs host restrictions to limit who can drive layout operations, accepting that this narrows rather than eliminates exposure.

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

CVE-2026-53399 vulnerability details – vuln.today

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