CVE-2026-53391

NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr

State
Published
Severity
7.5 High
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 76b94cbd32aacf36a641956385a852635c6802b9Affected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before c8e4e0c701d0192a2efb6df059c0f9e19678c23dAffected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 6c344fff2feff9d4d716d8e4ad40e9b5040ee5eaAffected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 427ab81a811dab4bca9d19f82eec5847ae42646eAffected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 012d37a568bfbb2c9686f03ade75560bc7139956Affected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 30aae62e50b4e074a90a9a5e15246548fbdc1182Affected
  • 6b7f3cf96364eaf597940cb5c68a682894829915 to before 41fe0f7b84f0cb822ae10ab08592996a592b2a25Affected
LinuxLinux
  • 4.0Affected
  • before 4.0Not affected
  • 5.15.211 through 5.15.*Not affected
  • 6.1.177 through 6.1.*Not affected
  • 6.6.144 through 6.6.*Not affected
  • 6.12.95 through 6.12.*Not affected
  • 6.18.38 through 6.18.*Not affected
  • 7.1.3 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.