CVE-2026-53391

NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr

HIGH
7.5
CVSS Score
Published: July 19, 2026 at 12:01 PM UTC
Updated: October 19, 2026 at 08:19 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.5%
SSVC
No known exploit

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.0 ≤ v < 5.15.2115.16 ≤ v < 6.1.1776.13 ≤ v < 6.18.386.19 ≤ v < 7.1.36.2 ≤ v < 6.6.1446.7 ≤ v < 6.12.954.06b7f3cf96364eaf597940cb5c68a682894829915
Vendor states this is fixed in 012d37a568bfbb2c9686f03ade75560bc7139956 (fixed)
Vendor states this is fixed in 30aae62e50b4e074a90a9a5e15246548fbdc1182 (fixed)
Vendor states this is fixed in 41fe0f7b84f0cb822ae10ab08592996a592b2a25 (fixed)
Vendor states this is fixed in 427ab81a811dab4bca9d19f82eec5847ae42646e (fixed)
Vendor states this is fixed in 6c344fff2feff9d4d716d8e4ad40e9b5040ee5ea (fixed)
Vendor states this is fixed in 76b94cbd32aacf36a641956385a852635c6802b9 (fixed)
Vendor states this is fixed in c8e4e0c701d0192a2efb6df059c0f9e19678c23d (fixed)
Vendor states this is fixed in 4.0 (unaffected)
Vendor states this is fixed in 5.15.211 (unaffected)
Vendor states this is fixed in 6.1.177 (unaffected)
Vendor states this is fixed in 6.12.95 (unaffected)
Vendor states this is fixed in 6.18.38 (unaffected)
Vendor states this is fixed in 6.6.144 (unaffected)
Vendor states this is fixed in 7.1.3 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

SSVC — Action Prioritization

SSVCNo known exploitAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.5HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card