{"id":14860,"date":"2026-09-04T19:02:15","date_gmt":"2026-09-04T11:02:15","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-53391"},"modified":"2026-09-04T19:02:15","modified_gmt":"2026-09-04T11:02:15","slug":"cve-2026-53391","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-53391","title":{"rendered":"CVE-2026-53391 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nNFSv4\/pNFS: reject ze"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFSv4\/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr<\/p>\n<p>nfs4_decode_mp_ds_addr() decodes the r_netid and r_addr opaques of a<br \/>\nnetaddr4 from a GETDEVICEINFO multipath-DS body, then immediately<br \/>\ncalls strrchr(buf, &#8216;.&#8217;) to locate the port separator. Both decodes<br \/>\nuse xdr_stream_decode_string_dup(), and the current code checks only<br \/>\n&#8220;nlen &lt; 0&quot; \/ &quot;rlen &lt; 0&quot; before dereferencing the returned string.<\/p>\n<p>When the on-wire opaque has length zero, xdr_stream_decode_opaque_inline()<br \/>\nreturns 0 and xdr_stream_decode_string_dup() falls through to its<br \/>\n&quot;*str = NULL; return ret&quot; tail, leaving buf NULL with a return value<br \/>\nof 0. The &quot;&lt; 0&quot; check does not catch this, and the next line is<br \/>\nstrrchr(NULL, &#039;.&#039;), a kernel NULL pointer dereference reachable from<br \/>\nany pNFS-flexfile client mounted against a malicious or compromised<br \/>\nmetadata server.<\/p>\n<p>Reject the zero-length cases explicitly so the decoder fails with<br \/>\n-EBADMSG (treated as a malformed GETDEVICEINFO body) instead of<br \/>\npanicking the client.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>NFSv4\/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr<\/p>\n<p>nfs4_decode_mp_ds_addr() decodes the r_netid and r_addr opaques of<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-14860","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/14860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}