CVE-2026-46116

EUVD-2026-32875
In the Linux kernel, the following vulnerability has been resolved:

xfrm: defensively unhash xfrm_state lists in __xfrm_state_delete

KASAN reproduces a slab-use-after-free in __xfrm_state_delete()'s
hlist_del_rcu calls under syzkaller load on linux-6.12.y stable
(reproduced on 6.12.47, also reachable via the same code path on
torvalds/master and on the ipsec tree). Nine unique signatures cluster
in the xfrm_state lifecycle, the load-bearing one being:

  BUG: KASAN: slab-use-after-free in __hlist_del include/linux/list.h:990 [inline]
  BUG: KASAN: slab-use-after-free in hlist_del_rcu include/linux/rculist.h:516 [inline]
  BUG: KASAN: slab-use-after-free in __xfrm_state_delete net/xfrm/xfrm_state.c
  Write of size 8 at addr ffff8881198bcb70 by task kworker/u8:9/435

  Workqueue: netns cleanup_net
  Call Trace:
   __hlist_del / hlist_del_rcu
   __xfrm_state_delete
   xfrm_state_delete
   xfrm_state_flush
   xfrm_state_fini
   ops_exit_list
   cleanup_net

The other observed signatures hit the same slab object from
__xfrm_state_lookup, xfrm_alloc_spi, __xfrm_state_insert and an OOB
write variant of __xfrm_state_delete, all on the byseq/byspi
hash chains.

__xfrm_state_delete() guards its byseq and byspi unhashes with
value-based predicates:

	if (x->km.seq)
		hlist_del_rcu(&x->byseq);
	if (x->id.spi)
		hlist_del_rcu(&x->byspi);

while everywhere else in the file (e.g. state_cache, state_cache_input)
the safer hlist_unhashed() check is used. xfrm_alloc_spi() sets
x->id.spi = newspi inside xfrm_state_lock and then immediately inserts
into byspi, but a path that observes x->id.spi != 0 outside of
xfrm_state_lock can still skip-or-hit the byspi unhash inconsistently
with whether x is actually on the list. The same holds for x->km.seq
versus byseq, and the bydst/bysrc unhashes have no predicate at all,
so a second __xfrm_state_delete() on the same object writes through
LIST_POISON pprev.

The defensive change here:

  - Use hlist_del_init_rcu() instead of hlist_del_rcu() on bydst,
    bysrc, byseq and byspi so a second deletion is a no-op rather
    than a write through LIST_POISON pprev. The byseq/byspi nodes
    are already initialised in xfrm_state_alloc().
  - Test hlist_unhashed() rather than the value predicate for
    byseq/byspi, so the unhash decision tracks list state rather than
    mutable scalar fields.

Empirical verification: applied this patch on top of v6.12.47, rebuilt,
and re-ran the same syzkaller harness for 1h16m on a previously-crashy
configuration that produced ~100 hits each of slab-use-after-free
Read in xfrm_alloc_spi / Read in __xfrm_state_lookup / Write in
__xfrm_state_delete. After the patch, 7.1M execs across 32 VMs at
~1550 exec/sec produced zero xfrm_state UAF/OOB hits. /proc/slabinfo
confirms the xfrm_state slab is actively allocated and freed during
the run (~143 KiB resident), so the fuzzer is still exercising those
code paths -- they just no longer crash.

Reproduction:

  - Linux 6.12.47 x86_64 + KASAN_GENERIC + KASAN_INLINE + KCOV
  - syzkaller @ 746545b8b1e4c3a128db8652b340d3df90ce61db
  - 32 QEMU/KVM VMs x 2 vCPU on AWS c5.metal bare metal
  - 9 unique signatures collected in ~9h, all within xfrm_state
    lifecycle
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.8 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 2%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
2.6.19 ≤
𝑥
< 5.15.210
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.176
linuxlinux_kernel
6.2 ≤
𝑥
< 6.6.140
linuxlinux_kernel
6.7 ≤
𝑥
< 6.12.88
linuxlinux_kernel
6.13 ≤
𝑥
< 6.18.30
linuxlinux_kernel
6.19 ≤
𝑥
< 7.0.7
linuxlinux_kernel
7.1:rc1
linuxlinux_kernel
7.1:rc2
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.176-1
fixed
bookworm (security)
6.1.176-1
fixed
bullseye
vulnerable
bullseye (security)
vulnerable
forky
7.1.3-1
fixed
sid
7.1.3-1
fixed
trixie
6.12.94-1
fixed
trixie (security)
6.12.95-1
fixed
linux-6.1
bullseye (security)
6.1.176-1~deb11u1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
kernel-64kb
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1
fixed
kernel-default
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1
fixed
kernel-default-base
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1.150700.17.39.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1.150700.17.39.1
fixed
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2.150400.24.114.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2.150500.6.81.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1.150700.17.39.1
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1
fixed
kernel-source
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.66.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.66.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.317.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
reiserfs-kmp-default
suse enterprise server 15 SP4
5.14.21-150400.24.225.2
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.172.2
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
kernel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-doc
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-debug-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-64k-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-tools
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-uki-virt-addons
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
libperf
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
perf
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
python3-perf
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
rtla
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
rv
RHEL 9
0:5.14.0-687.22.1.el9_8
fixed
Amazon Linux logo
Amazon Linux Releases
Amazon Package
Release
bpftool
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
bpftool-debuginfo
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
bpftool6.12
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
bpftool6.12-debuginfo
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
bpftool6.18
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
bpftool6.18-debuginfo
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-debuginfo
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-debuginfo-common-aarch64
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-debuginfo-common-x86_64
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-devel
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-headers
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-livepatch-6.1.176-220.358
Amazon Linux 2023
1:1.0-0.amzn2023
fixed
kernel-livepatch-6.12.88-119.157
Amazon Linux 2023
1:1.0-0.amzn2023
fixed
kernel-livepatch-6.18.30-61.116
Amazon Linux 2023
1:1.0-0.amzn2023
fixed
kernel-modules-extra
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-modules-extra-common
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-tools
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-tools-debuginfo
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel-tools-devel
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
kernel6.12
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-debuginfo
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-debuginfo-common-aarch64
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-debuginfo-common-x86_64
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-devel
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-headers
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-modules-extra
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-modules-extra-common
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-tools
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-tools-debuginfo
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.12-tools-devel
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
kernel6.18
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-debuginfo
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-debuginfo-common-aarch64
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-debuginfo-common-x86_64
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-devel
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-headers
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-modules-extra
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-modules-extra-common
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-tools
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-tools-debuginfo
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
kernel6.18-tools-devel
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
perf
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
perf-debuginfo
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
perf6.12
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
perf6.12-debuginfo
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
perf6.18
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
perf6.18-debuginfo
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
python3-perf
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
python3-perf-debuginfo
Amazon Linux 2023
1:6.1.176-220.358.amzn2023
fixed
python3-perf6.12
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
python3-perf6.12-debuginfo
Amazon Linux 2023
1:6.12.88-119.157.amzn2023
fixed
python3-perf6.18
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
python3-perf6.18-debuginfo
Amazon Linux 2023
1:6.18.30-61.116.amzn2023
fixed
Azure Linux logo
Azure Linux Releases
Azure Package
Release
kernel
Azure Linux 3.0
0:6.6.141.1-1.azl3
fixed