<?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 21:42:01 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-23145 — mptcp: fix NULL pointer in can_accept_new_subflow</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-23145</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;mptcp: fix NULL pointer in can_accept_new_subflow&lt;/p&gt;
&lt;p&gt;When testing valkey benchmark tool with MPTCP, the kernel panics in
&amp;#39;mptcp_can_accept_new_subflow&amp;#39; because subflow_req-&amp;gt;msk is NULL.&lt;/p&gt;
&lt;p&gt;Call trace:&lt;/p&gt;
&lt;p&gt;mptcp_can_accept_new_subflow (./net/mptcp/subflow.c:63 (discriminator 4)) (P)
  subflow_syn_recv_sock (./net/mptcp/subflow.c:854)
  tcp_check_req (./net/ipv4/tcp_minisocks.c:863)
  tcp_v4_rcv (./net/ipv4/tcp_ipv4.c:2268)
  ip_protocol_deliver_rcu (./net/ipv4/ip_input.c:207)
  ip_local_deliver_finish (./net/ipv4/ip_input.c:234)
  ip_local_deliver (./net/ipv4/ip_input.c:254)
  ip_rcv_finish (./net/ipv4/ip_input.c:449)
  ...&lt;/p&gt;
&lt;p&gt;According to the debug log, the same req received two SYN-ACK in a very
short time, very likely because the client retransmits the syn ack due
to multiple reasons.&lt;/p&gt;
&lt;p&gt;Even if the packets are transmitted with a relevant time interval, they
can be processed by the server on different CPUs concurrently). The
&amp;#39;subflow_req-&amp;gt;msk&amp;#39; ownership is transferred to the subflow the first,
and there will be a risk of a null pointer dereference here.&lt;/p&gt;
&lt;p&gt;This patch fixes this issue by moving the &amp;#39;subflow_req-&amp;gt;msk&amp;#39; under the
`own_req == true` conditional.&lt;/p&gt;
&lt;p&gt;Note that the !msk check in subflow_hmac_valid() can be dropped, because
the same check already exists under the own_req mpj branch where the
code has been moved to.&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;mptcp: fix NULL pointer in can_accept_new_subflow&lt;/p&gt;
&lt;p&gt;When testing valkey benchmark tool with MPTCP, the kernel panics in
&amp;#39;mptcp_can_accept_new_subflow&amp;#39; because subflow_req-&amp;gt;msk is NULL.&lt;/p&gt;
&lt;p&gt;Call trace:&lt;/p&gt;
&lt;p&gt;mptcp_can_accept_new_subflow (./net/mptcp/subflow.c:63 (discriminator 4)) (P)
  subflow_syn_recv_sock (./net/mptcp/subflow.c:854)
  tcp_check_req (./net/ipv4/tcp_minisocks.c:863)
  tcp_v4_rcv (./net/ipv4/tcp_ipv4.c:2268)
  ip_protocol_deliver_rcu (./net/ipv4/ip_input.c:207)
  ip_local_deliver_finish (./net/ipv4/ip_input.c:234)
  ip_local_deliver (./net/ipv4/ip_input.c:254)
  ip_rcv_finish (./net/ipv4/ip_input.c:449)
  ...&lt;/p&gt;
&lt;p&gt;According to the debug log, the same req received two SYN-ACK in a very
short time, very likely because the client retransmits the syn ack due
to multiple reasons.&lt;/p&gt;
&lt;p&gt;Even if the packets are transmitted with a relevant time interval, they
can be processed by the server on different CPUs concurrently). The
&amp;#39;subflow_req-&amp;gt;msk&amp;#39; ownership is transferred to the subflow the first,
and there will be a risk of a null pointer dereference here.&lt;/p&gt;
&lt;p&gt;This patch fixes this issue by moving the &amp;#39;subflow_req-&amp;gt;msk&amp;#39; under the
`own_req == true` conditional.&lt;/p&gt;
&lt;p&gt;Note that the !msk check in subflow_hmac_valid() can be dropped, because
the same check already exists under the own_req mpj branch where the
code has been moved to.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-23145</guid>
    </item>
  </channel>
</rss>
