Cloudanix VulnDB

CVE-2026-98364

High · 7.8

CVSS

7.8

EPSS

0.1%

Published

Oct 6, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's network code can let someone already on the machine crash it or potentially take full control.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Use-after-free in xfrm_bundle_create and xfrm_create_dummy_bundle when dst->dev is read without a reference and later dereferenced in xfrm_fill_dst after a concurrent RTM_DELLINK frees the net_device via dst_dev_put.

Why it matters to the business

Local attackers can trigger kernel crashes or memory corruption on affected Linux systems, leading to denial of service or potential privilege escalation with no external network access required.

How an attack unfolds

An attacker with local access crafts network operations that invoke xfrm_lookup_with_ifid and udpv6_sendmsg while triggering device deletion, causing the stale dev pointer to be used after free in xfrm6_fill_dst.

How to fix it

Update the Linux kernel to a version containing the fix that uses dst_dev_rcu() and maintains the RCU read-side critical section until device references are acquired in xfrm_fill_dst.

How to confirm the fix worked

Confirm the kernel version includes the RCU-protected dst_dev_rcu() change; reproduce the KASAN report path with concurrent device deletion and xfrm6_fill_dst calls to verify absence of use-after-free.

Typical attack path

  1. Obtain local user or process execution on the target system
  2. Trigger concurrent RTM_DELLINK to free a net_device while xfrm bundle creation holds a stale pointer
  3. Invoke IPv6 UDP send paths that call xfrm_resolve_and_create_bundle and xfrm6_fill_dst
  4. Dereference the freed device structure to trigger KASAN-detected use-after-free or memory corruption

How to detect it

Search kernel logs for KASAN slab-use-after-free reports citing xfrm6_fill_dst, xfrm_resolve_and_create_bundle, or netdev_hold during IPv6 UDP operations; inspect audit logs for concurrent RTM_DELLINK events.

  • KASAN: slab-use-after-free in xfrm6_fill_dst
  • xfrm6_fill_dst+0x82c/0x860
  • Read of size 8 at addr .* by task exploit

What your security team should do

  • Prioritize kernel updates on all systems exposing IPv6 and xfrm policy handling
  • Restrict local user privileges where possible until patched
  • Monitor for kernel oops or KASAN reports involving xfrm6_fill_dst and netdev_hold

The record

In the Linux kernel, the following vulnerability has been resolved: xfrm: hold net_device reference under RCU in bundle creation xfrm_bundle_create() and xfrm_create_dummy_bundle() read dst->dev into a local pointer without taking a device reference, then pass it to xfrm_fill_dst(). A concurrent RTM_DELLINK replaces dst->dev via dst_dev_put() and frees the old net_device, causing a use-after-free when xfrm6_fill_dst() later dereferences the stale dev pointer. BUG: KASAN: slab-use-after-free in xfrm6_fill_dst+0x82c/0x860 (net/ipv6/xfrm6_policy.c:86 netdev_hold()) Read of size 8 at addr ffff8880142fe588 by task exploit/153 Call Trace: xfrm6_fill_dst+0x82c/0x860 xfrm_resolve_and_create_bundle+0x21d4/0x2bd0 xfrm_lookup_with_ifid+0x485/0x1640 ip6_dst_lookup_flow+0x19b/0x1e0 udpv6_sendmsg+0x1443/0x2dd0 Fix this by reading dst->dev via dst_dev_rcu() and keeping the RCU read-side critical section active until xfrm_fill_dst() has taken the required device references.

Affected packages

Ecosystem Package Introduced Fixed