<?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, 06 Oct 2026 11:31:20 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-48910 — net: ipv6: ensure we call ipv6_mc_down() at most once</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2022-48910</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: ipv6: ensure we call ipv6_mc_down() at most once&lt;/p&gt;
&lt;p&gt;There are two reasons for addrconf_notify() to be called with NETDEV_DOWN:
either the network device is actually going down, or IPv6 was disabled
on the interface.&lt;/p&gt;
&lt;p&gt;If either of them stays down while the other is toggled, we repeatedly
call the code for NETDEV_DOWN, including ipv6_mc_down(), while never
calling the corresponding ipv6_mc_up() in between. This will cause a
new entry in idev-&amp;gt;mc_tomb to be allocated for each multicast group
the interface is subscribed to, which in turn leaks one struct ifmcaddr6
per nontrivial multicast group the interface is subscribed to.&lt;/p&gt;
&lt;p&gt;The following reproducer will leak at least $n objects:&lt;/p&gt;
&lt;p&gt;ip addr add ff2e::4242/32 dev eth0 autojoin
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
for i in $(seq 1 $n); do
	ip link set up eth0; ip link set down eth0
done&lt;/p&gt;
&lt;p&gt;Joining groups with IPV6_ADD_MEMBERSHIP (unprivileged) or setting the
sysctl net.ipv6.conf.eth0.forwarding to 1 (=&amp;gt; subscribing to ff02::2)
can also be used to create a nontrivial idev-&amp;gt;mc_list, which will the
leak objects with the right up-down-sequence.&lt;/p&gt;
&lt;p&gt;Based on both sources for NETDEV_DOWN events the interface IPv6 state
should be considered:&lt;/p&gt;
&lt;p&gt;- not ready if the network interface is not ready OR IPv6 is disabled
   for it
 - ready if the network interface is ready AND IPv6 is enabled for it&lt;/p&gt;
&lt;p&gt;The functions ipv6_mc_up() and ipv6_down() should only be run when this
st…&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: ipv6: ensure we call ipv6_mc_down() at most once&lt;/p&gt;
&lt;p&gt;There are two reasons for addrconf_notify() to be called with NETDEV_DOWN:
either the network device is actually going down, or IPv6 was disabled
on the interface.&lt;/p&gt;
&lt;p&gt;If either of them stays down while the other is toggled, we repeatedly
call the code for NETDEV_DOWN, including ipv6_mc_down(), while never
calling the corresponding ipv6_mc_up() in between. This will cause a
new entry in idev-&amp;gt;mc_tomb to be allocated for each multicast group
the interface is subscribed to, which in turn leaks one struct ifmcaddr6
per nontrivial multicast group the interface is subscribed to.&lt;/p&gt;
&lt;p&gt;The following reproducer will leak at least $n objects:&lt;/p&gt;
&lt;p&gt;ip addr add ff2e::4242/32 dev eth0 autojoin
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
for i in $(seq 1 $n); do
	ip link set up eth0; ip link set down eth0
done&lt;/p&gt;
&lt;p&gt;Joining groups with IPV6_ADD_MEMBERSHIP (unprivileged) or setting the
sysctl net.ipv6.conf.eth0.forwarding to 1 (=&amp;gt; subscribing to ff02::2)
can also be used to create a nontrivial idev-&amp;gt;mc_list, which will the
leak objects with the right up-down-sequence.&lt;/p&gt;
&lt;p&gt;Based on both sources for NETDEV_DOWN events the interface IPv6 state
should be considered:&lt;/p&gt;
&lt;p&gt;- not ready if the network interface is not ready OR IPv6 is disabled
   for it
 - ready if the network interface is ready AND IPv6 is enabled for it&lt;/p&gt;
&lt;p&gt;The functions ipv6_mc_up() and ipv6_down() should only be run when this
st…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2022-48910</guid>
    </item>
  </channel>
</rss>
