* CVE-2026-72072: net/mlx5e: macsec: fix use-after-free of metadata_dst on RX SC delete
@ 2026-08-15 6:02 Greg Kroah-Hartman
0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-08-15 6:02 UTC (permalink / raw)
To: linux-cve-announce; +Cc: Greg Kroah-Hartman
From: Greg Kroah-Hartman <gregkh@kernel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: macsec: fix use-after-free of metadata_dst on RX SC delete
When an offloaded MACsec RX SC is deleted, macsec_del_rxsc_ctx() freed
the per-SC metadata_dst with metadata_dst_free(), which kfree()s the
object unconditionally and ignores the dst reference count. The RX
datapath in mlx5e_macsec_offload_handle_rx_skb() looks up the SC under
rcu_read_lock() via xa_load(), takes a reference with dst_hold() and
attaches the dst to the skb with skb_dst_set(). A reader that already
obtained the rx_sc pointer can race with the delete path and operate on
freed memory.
Fix the owner side by dropping the reference with dst_release() instead
of freeing unconditionally, and convert the RX datapath to
dst_hold_safe() so a reader racing the SC delete cannot attach a dst
whose last reference was just dropped; only attach it when a reference
was actually taken.
mlx5e_macsec_add_rxsc() also published sc_xarray_element via xa_alloc()
before rx_sc->md_dst was allocated and initialised, so a datapath reader
that looked the SC up by fs_id could observe rx_sc with md_dst still
NULL or, on weakly-ordered architectures, a non-NULL md_dst pointer
whose contents were not yet visible. NULL-check the xa_load() result and
md_dst on the datapath, and reorder add_rxsc() so the xa_alloc() publish
happens only after md_dst is fully initialised; the xarray RCU publish
then pairs with the rcu_read_lock()/xa_load() in the datapath.
Note: macsec_del_rxsc_ctx() also kfree()s rx_sc->sc_xarray_element
without an RCU grace period while the same datapath reads it under
rcu_read_lock(); that is a separate pre-existing issue left to a
follow-up patch.
Found by 0sec automated security-research tooling (https://0sec.ai).
The Linux kernel CVE team has assigned CVE-2026-72072 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 6.1.178 with commit b1a4d0c568bbb52c7c04f4fce3c097dae89ed6cb
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 6.6.145 with commit 218cc15a4c907659ad4b0e68c535c61594311205
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 6.12.97 with commit 4a5073b7b30243658f58b2d2d35a823da7fd34d9
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 6.18.40 with commit ed3cc4218070d6b98bf5fb456dccae424fd38c4f
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 7.1.5 with commit 088873af13590ebde10de2ade847f57a05ec61c6
Issue introduced in 6.1 with commit b7c9400cbc48c3713190b3bce4e0c87e924e4104 and fixed in 7.2-rc2 with commit de74d8fd10291763d97b218f09adcc7513c975e4
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2026-72072
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/b1a4d0c568bbb52c7c04f4fce3c097dae89ed6cb
https://git.kernel.org/stable/c/218cc15a4c907659ad4b0e68c535c61594311205
https://git.kernel.org/stable/c/4a5073b7b30243658f58b2d2d35a823da7fd34d9
https://git.kernel.org/stable/c/ed3cc4218070d6b98bf5fb456dccae424fd38c4f
https://git.kernel.org/stable/c/088873af13590ebde10de2ade847f57a05ec61c6
https://git.kernel.org/stable/c/de74d8fd10291763d97b218f09adcc7513c975e4
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-15 6:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-15 6:02 CVE-2026-72072: net/mlx5e: macsec: fix use-after-free of metadata_dst on RX SC delete Greg Kroah-Hartman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.