CVE Catalog

CVE-2026-53391

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.52%

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

Summary

A vulnerability in the Linux kernel's nfs4_decode_mp_ds_addr() function in NFSv4/pNFS fails to properly handle zero-length r_addr fields in GETDEVICEINFO responses, leading to a NULL pointer dereference and kernel panic. An attacker can exploit this via a malicious or compromised metadata server.

Risk Assessment

The risk is remote kernel panic (DoS) on NFS clients via a malicious metadata server. Any pNFS-flexfile client is affected.

Recommendation

Immediately update the Linux kernel to a version containing the fix that rejects zero-length r_addr with -EBADMSG. If patching is not possible, restrict trust to NFS servers.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr nfs4_decode_mp_ds_addr() decodes the r_netid and r_addr opaques of a netaddr4 from a GETDEVICEINFO multipath-DS body, then immediately calls strrchr(buf, '.') to locate the port separator. Both decodes use xdr_stream_decode_string_dup(), and the current code checks only "nlen < 0" / "rlen < 0" before dereferencing the returned string. When the on-wire opaque has length zero, xdr_stream_decode_opaque_inline() returns 0 and xdr_stream_decode_string_dup() falls through to its "*str = NULL; return ret" tail, leaving buf NULL with a return value of 0. The "< 0" check does not catch this, and the next line is strrchr(NULL, '.'), a kernel NULL pointer dereference reachable from any pNFS-flexfile client mounted against a malicious or compromised metadata server. Reject the zero-length cases explicitly so the decoder fails with -EBADMSG (treated as a malformed GETDEVICEINFO body) instead of panicking the client.

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