<?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>Tue, 29 Sep 2026 06:46:42 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-37865 — net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-37865</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;net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported&lt;/p&gt;
&lt;p&gt;Russell King reports that on the ZII dev rev B, deleting a bridge VLAN
from a user port fails with -ENOENT:
https://lore.kernel.org/netdev/Z_lQXNP0s5-IiJzd@shell.armlinux.org.uk/&lt;/p&gt;
&lt;p&gt;This comes from mv88e6xxx_port_vlan_leave() -&amp;gt; mv88e6xxx_mst_put(),
which tries to find an MST entry in &amp;amp;chip-&amp;gt;msts associated with the SID,
but fails and returns -ENOENT as such.&lt;/p&gt;
&lt;p&gt;But we know that this chip does not support MST at all, so that is not
surprising. The question is why does the guard in mv88e6xxx_mst_put()
not exit early:&lt;/p&gt;
&lt;p&gt;if (!sid)
		return 0;&lt;/p&gt;
&lt;p&gt;And the answer seems to be simple: the sid comes from vlan.sid which
supposedly was previously populated by mv88e6xxx_vtu_get().
But some chip-&amp;gt;info-&amp;gt;ops-&amp;gt;vtu_getnext() implementations do not populate
vlan.sid, for example see mv88e6185_g1_vtu_getnext(). In that case,
later in mv88e6xxx_port_vlan_leave() we are using a garbage sid which is
just residual stack memory.&lt;/p&gt;
&lt;p&gt;Testing for sid == 0 covers all cases of a non-bridge VLAN or a bridge
VLAN mapped to the default MSTI. For some chips, SID 0 is valid and
installed by mv88e6xxx_stu_setup(). A chip which does not support the
STU would implicitly only support mapping all VLANs to the default MSTI,
so although SID 0 is not valid, it would be sufficient, if we were to
zero-initialize the vlan structure, to fix the bug, due to the
coincidence that a test…&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;net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported&lt;/p&gt;
&lt;p&gt;Russell King reports that on the ZII dev rev B, deleting a bridge VLAN
from a user port fails with -ENOENT:
https://lore.kernel.org/netdev/Z_lQXNP0s5-IiJzd@shell.armlinux.org.uk/&lt;/p&gt;
&lt;p&gt;This comes from mv88e6xxx_port_vlan_leave() -&amp;gt; mv88e6xxx_mst_put(),
which tries to find an MST entry in &amp;amp;chip-&amp;gt;msts associated with the SID,
but fails and returns -ENOENT as such.&lt;/p&gt;
&lt;p&gt;But we know that this chip does not support MST at all, so that is not
surprising. The question is why does the guard in mv88e6xxx_mst_put()
not exit early:&lt;/p&gt;
&lt;p&gt;if (!sid)
		return 0;&lt;/p&gt;
&lt;p&gt;And the answer seems to be simple: the sid comes from vlan.sid which
supposedly was previously populated by mv88e6xxx_vtu_get().
But some chip-&amp;gt;info-&amp;gt;ops-&amp;gt;vtu_getnext() implementations do not populate
vlan.sid, for example see mv88e6185_g1_vtu_getnext(). In that case,
later in mv88e6xxx_port_vlan_leave() we are using a garbage sid which is
just residual stack memory.&lt;/p&gt;
&lt;p&gt;Testing for sid == 0 covers all cases of a non-bridge VLAN or a bridge
VLAN mapped to the default MSTI. For some chips, SID 0 is valid and
installed by mv88e6xxx_stu_setup(). A chip which does not support the
STU would implicitly only support mapping all VLANs to the default MSTI,
so although SID 0 is not valid, it would be sufficient, if we were to
zero-initialize the vlan structure, to fix the bug, due to the
coincidence that a test…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-37865</guid>
    </item>
  </channel>
</rss>
