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

lockd: Avoid hashing uninitialized bytes in nlm4svc_lookup_file()

file_hash() digests the first LOCKD_FH_HASH_SIZE bytes of
nfs_fh.data when bucketing nlm_files[], independent of fh.size.
Commit 3de744ee4e45 ("lockd: Use xdrgen XDR functions for the
NLMv4 TEST procedure") set .pc_argzero to zero for the converted
procedures and moved file-handle population into
nlm4svc_lookup_file(), which copies only xdr_lock->fh.len bytes
into lock->fh.data.

When an NLMv4 client presents a file handle shorter than
LOCKD_FH_HASH_SIZE, bytes fh.len..31 retain whatever the argument
buffer held from an earlier request. The same wire handle then
hashes to different buckets across calls; nlm_lookup_file() misses
the existing nlm_file entry, and lock-state lookups fail.

Zero only the tail bytes that file_hash() would otherwise consume.
Handles of LOCKD_FH_HASH_SIZE or larger already populate every byte
that file_hash() reads.
Published: 2026-08-15
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

An inadvertent use of uninitialized memory in the Linux kernel’s lock manager caused NLMv4 file handles that are shorter than the defined hashing size to be hashed inconsistently, leading to lock lookup failures and disruption of NFS lock operations; the core weakness is improper initialization of hashing input, which can result in lock state inconsistencies and potential denial of service for clients reliant on NFS locking.

Affected Systems

All Linux kernel releases that were compiled before the inclusion of commit 3de744ee4e45, which introduced the patch that clears uninitialized tail bytes when hashing file handles, are affected; any deployment that uses the NLMv4 protocol with the lock manager (lockd) enabled without this patch is vulnerable.

Risk and Exploitability

The flaw can be triggered by an NLMv4 client that sends a file handle shorter than LOCKD_FH_HASH_SIZE, causing consistent lock state lookup failures; the EPSS score of < 1% indicates a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog, so no confirmed exploits are known, though the kernel nature and potential to break NFS lock services make it a significant risk in comparable threat scenarios. The CVSS score of 9.8 indicates critical severity, underscoring the importance of promptly addressing the issue.

Generated by OpenCVE AI on August 22, 2026 at 00:18 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that includes commit 3de744ee4e45 or any later revision that addresses the uninitialized byte hashing issue
  • If a kernel upgrade cannot be performed immediately, disable the NLMv4 lock manager in the NFS configuration (e.g., edit NFS settings to turn off lockd for the affected shares) to prevent lock lookup errors
  • Monitor system logs and kernel messages for lock lookup failures and plan a timely kernel update to eliminate the vulnerability

Generated by OpenCVE AI on August 22, 2026 at 00:18 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 17 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: lockd: Avoid hashing uninitialized bytes in nlm4svc_lookup_file() file_hash() digests the first LOCKD_FH_HASH_SIZE bytes of nfs_fh.data when bucketing nlm_files[], independent of fh.size. Commit 3de744ee4e45 ("lockd: Use xdrgen XDR functions for the NLMv4 TEST procedure") set .pc_argzero to zero for the converted procedures and moved file-handle population into nlm4svc_lookup_file(), which copies only xdr_lock->fh.len bytes into lock->fh.data. When an NLMv4 client presents a file handle shorter than LOCKD_FH_HASH_SIZE, bytes fh.len..31 retain whatever the argument buffer held from an earlier request. The same wire handle then hashes to different buckets across calls; nlm_lookup_file() misses the existing nlm_file entry, and lock-state lookups fail. Zero only the tail bytes that file_hash() would otherwise consume. Handles of LOCKD_FH_HASH_SIZE or larger already populate every byte that file_hash() reads.
Title lockd: Avoid hashing uninitialized bytes in nlm4svc_lookup_file()
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:45:48.282Z

Reserved: 2026-08-15T05:44:03.883Z

Link: CVE-2026-74315

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:31.763

Modified: 2026-08-17T06:19:25.867

Link: CVE-2026-74315

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-74315 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T00:30:16Z

Weaknesses
  • CWE-908

    Use of Uninitialized Resource