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

lockd: Plug nlm_file refcount leak on cached nlm_do_fopen() failure

The cached-file path in nlm_lookup_file() reaches the found: label
unconditionally, even when nlm_do_fopen() fails. At that label
*result and file->f_count are updated before the error is returned.
The wrappers nlm3svc_lookup_file() and nlm4svc_lookup_file() then
bail out of their switch without copying *result back to their
caller, so the proc handler's local nlm_file pointer remains NULL
and the cleanup path skips nlm_release_file(). The f_count
increment is never released, and nlm_traverse_files() can no
longer reap the file because its refcount never returns to zero
between requests.

Short-circuit the cached path so neither *result nor f_count is
touched when nlm_do_fopen() fails on a hashed nlm_file.
Published: 2026-08-15
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel lockd subsystem, a flaw in the handling of nlm_do_fopen() allows a reference count to be leaked. When a cached file lookup fails, the kernel still increments the file’s reference counter and later fails to decrement it, permanently increasing the refcount. This leaked reference prevents the file from being reclaimed and can cause the lockd file table to grow indefinitely. If an attacker can repeatedly trigger these failed lookups, the table will eventually exhaust kernel memory or render the Network Lock Manager unusable, resulting in a denial-of-service. The vulnerability is a classic example of improper resource reclamation combined with a live lock table that does not shrink (CWE-772).

Affected Systems

The vulnerability applies to all Linux kernel releases that contain the legacy nlm_do_fopen implementation used by lockd. An unpatched kernel that implements this subsystem, regardless of distribution or patch level, is affected. The CNA lists the vendor as Linux with no specific version constraints provided, so any machine running a standard Linux distribution whose kernel contains the vulnerable code is at risk.

Risk and Exploitability

The CVSS score is 7.0, indicating a high impact. The EPSS score is reported as < 1%, which denotes a very low probability of exploitation at the time of this analysis. The vulnerability is not listed in the CISA KEV catalog. Explotation would require an attacker to invoke repeated nlm_do_fopen failures, which generally implies local kernel privilege or another vulnerability that can trigger the lockd paths. While direct exploitation is considered unlikely, the potential for resource exhaustion can lead to a denial-of-service if the attacker succeeds. The likely attack vector is not explicitly detailed in the description, but it can be inferred that an attacker needs to induce these failures, potentially via crafted lock requests or by exploiting an existing authentication bypass.

Generated by OpenCVE AI on August 18, 2026 at 19:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the kernel to a patched release that includes the lockd refcount fix.
  • If the distribution kernel is not yet updated, apply the upstream patch, rebuild, and deploy the kernel.
  • Until a patch is applied, disable or restrict the Network Lock Manager service to mitigate the risk of resource exhaustion.

Generated by OpenCVE AI on August 18, 2026 at 19:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 15:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Tue, 18 Aug 2026 12:15:00 +0000

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

None

cvssV3_1

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

threat_severity

Moderate


Sat, 15 Aug 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: lockd: Plug nlm_file refcount leak on cached nlm_do_fopen() failure The cached-file path in nlm_lookup_file() reaches the found: label unconditionally, even when nlm_do_fopen() fails. At that label *result and file->f_count are updated before the error is returned. The wrappers nlm3svc_lookup_file() and nlm4svc_lookup_file() then bail out of their switch without copying *result back to their caller, so the proc handler's local nlm_file pointer remains NULL and the cleanup path skips nlm_release_file(). The f_count increment is never released, and nlm_traverse_files() can no longer reap the file because its refcount never returns to zero between requests. Short-circuit the cached path so neither *result nor f_count is touched when nlm_do_fopen() fails on a hashed nlm_file.
Title lockd: Plug nlm_file refcount leak on cached nlm_do_fopen() failure
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-17T05:10:33.204Z

Reserved: 2026-08-09T03:40:39.913Z

Link: CVE-2026-72218

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:40.613

Modified: 2026-08-17T06:18:22.810

Link: CVE-2026-72218

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72218 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T19:45:03Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime