CVE Catalog

CVE-2026-89714

Low risk· EPSS 10%
Published: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.20%

10th percentile - higher than 10% of all known CVEs

Summary

A memory leak exists in the Linux kernel NFS subsystem. The nfs4_server_common_setup() function allocates the delegation_hash_table, but the server->destroy pointer responsible for freeing it is only assigned at the end of the function. If any intermediate step fails, the table is not freed, leaking 4 KiB of kernel memory on every failed NFSv4 mount attempt.

Risk Assessment

Every failed NFSv4 mount attempt leaks kernel memory, and a client persistently retrying a failing mount can cause unbounded memory exhaustion (up to 12 GiB of leaked slab was observed). This can lead to system instability or denial of service (DoS) on the affected node.

Recommendation

Update the Linux kernel to a version containing the fix that frees the delegation_hash_table on error paths. Until patched, avoid configurations that cause repeated failed NFSv4 mount attempts.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: NFS: fix delegation_hash_table leak when nfs4_server_common_setup() fails nfs4_server_common_setup() allocates server->delegation_hash_table first, but server->destroy - the only path that frees the table via nfs4_destroy_server() - is not assigned until the very end of the function. If any intermediate step fails (the is_ds_only_client() check, nfs4_init_session(), nfs4_get_rootfh(), or nfs_probe_server()), the function returns with server->destroy still NULL, so the caller's nfs_free_server() skips the destroy callback and the hash table is leaked (4 KiB per attempt with the default delegation watermark). This is trivially reachable from userspace: every failed NFSv4 mount leaks one allocation. A client that persistently retries a mount that cannot succeed leaks kernel memory without bound. Observed in production where a Longhorn backup poller retried mount.nfs4 against an NFSv3-only server roughly 10 times per second, leaking ~3.4 GiB of unreclaimable slab (kmalloc-rnd-13-4k) per day; the node accumulated 12 GiB of leaked slab before the source was identified via the kmem:kmalloc tracepoint (call_site=nfs4_delegation_hash_alloc). Reproducer: # server exports NFSv3 only (or export path absent for v4) while :; do mount -t nfs4 <server>:/missing /mnt; done # watch SUnreclaim in /proc/meminfo grow 4 KiB per iteration Free the table on the error paths between the allocation and the assignment of server->destroy.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS