# CVE-2026-72218: lockd: Plug nlm_file refcount leak on cached nlm_do_fopen() failure

Status: published. Published: 2026-08-15. Updated: 2026-11-06.

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.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ e580323ac0b51ad10ec2e181d1f777479b7983e7; < 6cd84cefd8b73e85b9eda17b319bd40a670f3a38 (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < fe3b45b56b6c3d4b6b341de27fa291005287a21c (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < cb3420c047957e565101585bb4f15e1a6e3de6b0 (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < 7ce4c23e783e766507b2cef27bbf97e9ca944f1a (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < 84008bf1860e0ef8059a7583a1163f36b704d08a (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < 46d59ff421824b6483549d87f14efffbbbd1f6cb (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < 3a5c55a19cad62f2973be25fe96a1a9e7f618e8a (affected, git); ≥ 7f024fcd5c97dc70bb9121c80407cf3cf9be7159; < 70a38f87bed7f0694fd07988b47b2db1e10d8df3 (affected, git); ≥ 5.10.220; < 5.10.261 (affected, semver). Source: CNA: Linux
- Linux / Linux: 5.15 (affected); ≥ 0; < 5.15 (unaffected, semver); ≥ 5.10.261; ≤ 5.10.* (unaffected, semver); ≥ 5.15.212; ≤ 5.15.* (unaffected, semver); ≥ 6.1.178; ≤ 6.1.* (unaffected, semver); ≥ 6.6.145; ≤ 6.6.* (unaffected, semver); ≥ 6.12.97; ≤ 6.12.* (unaffected, semver); ≥ 6.18.40; ≤ 6.18.* (unaffected, semver); ≥ 7.1.5; ≤ 7.1.* (unaffected, semver); ≥ 7.2; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.22% as of 2026-11-06; percentile 12.13%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/6cd84cefd8b73e85b9eda17b319bd40a670f3a38 (CNA: Linux)

- https://git.kernel.org/stable/c/fe3b45b56b6c3d4b6b341de27fa291005287a21c (CNA: Linux)

- https://git.kernel.org/stable/c/cb3420c047957e565101585bb4f15e1a6e3de6b0 (CNA: Linux)

- https://git.kernel.org/stable/c/7ce4c23e783e766507b2cef27bbf97e9ca944f1a (CNA: Linux)

- https://git.kernel.org/stable/c/84008bf1860e0ef8059a7583a1163f36b704d08a (CNA: Linux)

- https://git.kernel.org/stable/c/46d59ff421824b6483549d87f14efffbbbd1f6cb (CNA: Linux)

- https://git.kernel.org/stable/c/3a5c55a19cad62f2973be25fe96a1a9e7f618e8a (CNA: Linux)

- https://git.kernel.org/stable/c/70a38f87bed7f0694fd07988b47b2db1e10d8df3 (CNA: Linux)

- https://git.kernel.org/stable/c/3a5c55a19cad62f2973be25fe96a1a9e7f618e8a (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/46d59ff421824b6483549d87f14efffbbbd1f6cb (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/6cd84cefd8b73e85b9eda17b319bd40a670f3a38 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/70a38f87bed7f0694fd07988b47b2db1e10d8df3 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/7ce4c23e783e766507b2cef27bbf97e9ca944f1a (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/84008bf1860e0ef8059a7583a1163f36b704d08a (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/cb3420c047957e565101585bb4f15e1a6e3de6b0 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

- https://git.kernel.org/stable/c/fe3b45b56b6c3d4b6b341de27fa291005287a21c (416baaa9-dc9f-4396-8d5f-8c081fb06d67)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2026-72218; retrieved 2026-11-06; source updated 2026-11-06

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-72218; retrieved 2026-11-06; source updated 2026-11-06

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-72218; retrieved 2026-11-06; source updated Not reported

Revision: f20b3fbef568be6eb01cc1de411b7fd4e1a89a1ea164bf2f6036d32bf14fb4fd

Canonical: https://y2.dev/cve/CVE-2026-72218

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.