<?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>Fri, 02 Oct 2026 16:34:32 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-39925 — can: j1939: implement NETDEV_UNREGISTER notification handler</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-39925</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;can: j1939: implement NETDEV_UNREGISTER notification handler&lt;/p&gt;
&lt;p&gt;syzbot is reporting&lt;/p&gt;
&lt;p&gt;unregister_netdevice: waiting for vcan0 to become free. Usage count = 2&lt;/p&gt;
&lt;p&gt;problem, for j1939 protocol did not have NETDEV_UNREGISTER notification
handler for undoing changes made by j1939_sk_bind().&lt;/p&gt;
&lt;p&gt;Commit 25fe97cb7620 (&amp;#34;can: j1939: move j1939_priv_put() into sk_destruct
callback&amp;#34;) expects that a call to j1939_priv_put() can be unconditionally
delayed until j1939_sk_sock_destruct() is called. But we need to call
j1939_priv_put() against an extra ref held by j1939_sk_bind() call
(as a part of undoing changes made by j1939_sk_bind()) as soon as
NETDEV_UNREGISTER notification fires (i.e. before j1939_sk_sock_destruct()
is called via j1939_sk_release()). Otherwise, the extra ref on &amp;#34;struct
j1939_priv&amp;#34; held by j1939_sk_bind() call prevents &amp;#34;struct net_device&amp;#34; from
dropping the usage count to 1; making it impossible for
unregister_netdevice() to continue.&lt;/p&gt;
&lt;p&gt;[mkl: remove space in front of label]&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;can: j1939: implement NETDEV_UNREGISTER notification handler&lt;/p&gt;
&lt;p&gt;syzbot is reporting&lt;/p&gt;
&lt;p&gt;unregister_netdevice: waiting for vcan0 to become free. Usage count = 2&lt;/p&gt;
&lt;p&gt;problem, for j1939 protocol did not have NETDEV_UNREGISTER notification
handler for undoing changes made by j1939_sk_bind().&lt;/p&gt;
&lt;p&gt;Commit 25fe97cb7620 (&amp;#34;can: j1939: move j1939_priv_put() into sk_destruct
callback&amp;#34;) expects that a call to j1939_priv_put() can be unconditionally
delayed until j1939_sk_sock_destruct() is called. But we need to call
j1939_priv_put() against an extra ref held by j1939_sk_bind() call
(as a part of undoing changes made by j1939_sk_bind()) as soon as
NETDEV_UNREGISTER notification fires (i.e. before j1939_sk_sock_destruct()
is called via j1939_sk_release()). Otherwise, the extra ref on &amp;#34;struct
j1939_priv&amp;#34; held by j1939_sk_bind() call prevents &amp;#34;struct net_device&amp;#34; from
dropping the usage count to 1; making it impossible for
unregister_netdevice() to continue.&lt;/p&gt;
&lt;p&gt;[mkl: remove space in front of label]&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-39925</guid>
    </item>
  </channel>
</rss>
