data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-72322 in the interactive tracker

CVE-2026-72322

ipv6: mcast: Fix potential UAF in MLD delayed work

9.8 EPSS 0.7% AV:N

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem include/net. Debian urgency: not yet assigned.

What to do, per Debian release

Debian's own status for CVE-2026-72322 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormfixed6.1.180-1Update the kernel and reboot. Fixed in 6.1.180-1. A running kernel keeps the old code until the machine restarts.
Debian 13trixiefixed6.12.100-1Update the kernel and reboot. Fixed in 6.12.100-1. A running kernel keeps the old code until the machine restarts.
Debian 14forkyfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.5-1Update the kernel and reboot. Fixed in 7.1.5-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

A race condition exists between device teardown and incoming MLD query processing, leading to a Use-After-Free in the MLD delayed work. During device destruction, the primary reference to inet6_dev is dropped, which can drop its refcount to 0. The actual freeing of inet6_dev memory is deferred via RCU. Concurrently, the packet receive path runs under RCU read lock and obtains the inet6_dev pointer. Because the memory is RCU-protected, CPU-0 can safely dereference inet6_dev even if its refcount has hit 0. However, if CPU-0 calls igmp6_event_query() and schedules delayed work, it attempts to acquire a reference using in6_dev_hold(). This increments the refcount from 0 to 1, triggering a "refcount_t: addition on 0" warning. Since the inet6_dev memory is still scheduled to be freed after the RCU grace period, the device is freed while the work is still scheduled. When the work runs, it accesses the freed memory, causing a kernel panic. Fix this by using refcount_inc_not_zero() (via a new helper in6_dev_hold_safe()) to prevent acquiring a reference if the device is already being destroyed. If the refcount is 0, we do not schedule the work.

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

include/net/addrconf.h
net/ipv6/mcast.c

What this is
NETWORKING [IPv4/IPv6]MAINTAINERS section matched on include/net/addrconf.h · netdev@vger.kernel.org · Maintained

Check it on the machine

grep -w CONFIG_IPV6 /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

Show whether Debian builds this, per release

Debian builds this code. Every release below compiles the affected file into the kernels it ships.

  • bookworm, trixie, forky, sidy
y
built into the kernel image on every flavour - only a patch removes it
Build switch
CONFIG_IPV6

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-08-15 (2 months ago)source
CVSS
9.8 critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsource recompute it
Attack vector
network (AV:N)source
EPSS
0.72%, higher than 53.2% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
not yet assignedsource
Subsystem
include/net

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
2.6.125.10.261f12b63ef26a0
2.6.125.15.2120401d6cf7877
2.6.126.1.178f03b0a45535d
2.6.126.6.1459815e834f5ff
2.6.126.12.97ebbebf6cee95
2.6.126.18.409ce741c22df4
2.6.127.1.50458ba1cda83
2.6.127.29b26518b6896

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:NAttack vector, network
The flaw is reached from the IPv6 receive path when ICMPv6 MLD query/report packets are processed (icmpv6_rcv → igmp6_event_query/igmp6_event_report); igmp6_event_query queues work before link-local validation, so any remotely deliverable ICMPv6 MLD packet to an IPv6-enabled interface can hit the vulnerable code.
AC:LAttack complexity, low
A race between incoming MLD traffic and inet6_dev teardown during unregister; an attacker can flood MLD packets and concurrently unregister/delete the interface (e.g., via CAP_NET_ADMIN in a user/network namespace), controlling both sides of the race to reliably trigger the UAF.
PR:NPrivileges required, none
Triggering MLD processing requires no authentication or local account—only the ability to send IPv6 ICMPv6 packets to the target; interface teardown can occur during routine operations (container stop, hot-unplug, reconfiguration) without attacker admin rights, and full control is also available with namespace CAP_NET_ADMIN (PR:L).
UI:NUser interaction, none
Exploitation requires no victim interaction beyond normal network operation; the attacker sends crafted or high-rate MLD traffic during interface teardown without the user opening files, clicking links, or performing any deliberate action.
S:UScope, unchanged
Impact is confined to kernel memory corruption and denial of service on the affected host; it does not cross a security boundary such as VM escape, container-to-host breakout, or IOMMU bypass—standard kernel privilege context remains unchanged.
C:HConfidentiality impact, high
Use-after-free of the inet6_dev structure after RCU reclamation allows an attacker to dereference and potentially reuse freed kernel heap memory, providing a path to arbitrary kernel memory disclosure through controlled object reuse and heap grooming.
I:HIntegrity impact, high
The UAF on inet6_dev and its embedded delayed-work structures enables heap spraying and corruption of kernel function pointers and data, creating a credible path to arbitrary kernel code execution and privilege escalation beyond a simple crash.
A:HAvailability impact, high
When the scheduled MLD delayed work runs after inet6_dev is freed, the kernel accesses freed memory causing a use-after-free that the fix commit explicitly documents as leading to kernel panic, resulting in complete loss of system availability.