<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 03:15:59 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-53391 — NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-53391</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr&lt;/p&gt;
&lt;p&gt;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, &amp;#39;.&amp;#39;) to locate the port separator. Both decodes
use xdr_stream_decode_string_dup(), and the current code checks only
&amp;#34;nlen &amp;lt; 0&amp;#34; / &amp;#34;rlen &amp;lt; 0&amp;#34; before dereferencing the returned string.&lt;/p&gt;
&lt;p&gt;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
&amp;#34;*str = NULL; return ret&amp;#34; tail, leaving buf NULL with a return value
of 0. The &amp;#34;&amp;lt; 0&amp;#34; check does not catch this, and the next line is
strrchr(NULL, &amp;#39;.&amp;#39;), a kernel NULL pointer dereference reachable from
any pNFS-flexfile client mounted against a malicious or compromised
metadata server.&lt;/p&gt;
&lt;p&gt;Reject the zero-length cases explicitly so the decoder fails with
-EBADMSG (treated as a malformed GETDEVICEINFO body) instead of
panicking the client.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;NFSv4/pNFS: reject zero-length r_addr in nfs4_decode_mp_ds_addr&lt;/p&gt;
&lt;p&gt;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, &amp;#39;.&amp;#39;) to locate the port separator. Both decodes
use xdr_stream_decode_string_dup(), and the current code checks only
&amp;#34;nlen &amp;lt; 0&amp;#34; / &amp;#34;rlen &amp;lt; 0&amp;#34; before dereferencing the returned string.&lt;/p&gt;
&lt;p&gt;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
&amp;#34;*str = NULL; return ret&amp;#34; tail, leaving buf NULL with a return value
of 0. The &amp;#34;&amp;lt; 0&amp;#34; check does not catch this, and the next line is
strrchr(NULL, &amp;#39;.&amp;#39;), a kernel NULL pointer dereference reachable from
any pNFS-flexfile client mounted against a malicious or compromised
metadata server.&lt;/p&gt;
&lt;p&gt;Reject the zero-length cases explicitly so the decoder fails with
-EBADMSG (treated as a malformed GETDEVICEINFO body) instead of
panicking the client.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-53391</guid>
    </item>
  </channel>
</rss>
