CVE-2026-64580CWE-415

CVE-2026-64580

High · published August 5, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
1.8
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

xfrm6: clear dst.dev on error to avoid double netdev_put in xfrm6_fill_dst()

On the error path where in6_dev_get(dev) returns NULL, xfrm6_fill_dst()

releases the device reference with netdev_put() but leaves

xdst->u.dst.dev set. dst_destroy() later calls netdev_put(dst->dev)

again, so the same net_device reference is released twice, underflowing

its refcount (ref_tracker WARNING + "unregister_netdevice: waiting for

<dev> to become free").

Clear xdst->u.dst.dev after the netdev_put(), the same way the XFRM

device-offload paths xfrm_dev_state_add() and xfrm_dev_policy_add() in

net/xfrm/xfrm_device.c NULL ->dev when releasing the reference on error.

ref_tracker: reference already released.

ref_tracker: allocated in:

xfrm6_fill_dst (net/ipv6/xfrm6_policy.c:86)

...

udpv6_sendmsg (net/ipv6/udp.c:1696)

...

ref_tracker: freed in:

xfrm6_fill_dst (net/ipv6/xfrm6_policy.c:90)

...

WARNING: lib/ref_tracker.c:322 at ref_tracker_free+0x58b/0x780

dst_destroy (net/core/dst.c:115)

rcu_core

handle_softirqs

...

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00120 · 1.8th percentile
Weakness
CWE-415 · Double Free
Published
2026-08-05T12:16Z
References (6)
EPSS history
Timeline
  • 05 AUG 08:09Z
    xfrm6: clear dst.dev on error to avoid double netdev_put in xfrm6_fill_dst()
    cvelistv5