CVE-2026-74310

CVE-2026-74310

Critical · published August 15, 2026

CVSS v3.1
9.3
EPSS
0%
Percentile
2.9
In the wild
Unconfirmed
What it is

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

vhost/net: complete zerocopy ubufs only once

vhost-net initializes one ubuf_info per outstanding zerocopy TX

descriptor and hands it to the backend socket. The networking stack may

then clone a zerocopy skb before all skb references are released. For

example, batman-adv fragmentation reaches skb_split(), which calls

skb_zerocopy_clone() and increments the same ubuf_info refcount.

vhost_zerocopy_complete() currently treats every ubuf callback as a

completed vhost descriptor. It dereferences ubuf->ctx, writes the

descriptor completion state, and drops the vhost_net_ubuf_ref even when

the callback only releases a cloned skb reference. A backend reset can

therefore wait for and free the vhost_net_ubuf_ref while another cloned

skb still carries the same ubuf_info. A later completion then

dereferences the freed ubufs pointer.

KASAN reports the stale completion as:

BUG: KASAN: slab-use-after-free in vhost_zerocopy_complete+0x1d7/0x1f0

BUG: KASAN: slab-use-after-free in vhost_zerocopy_complete+0x101/0x1f0

vhost_zerocopy_complete

skb_copy_ubufs

__dev_forward_skb2

veth_xmit

The freed object was allocated from vhost_net_ioctl() while setting the

backend and freed through kfree_rcu()/kvfree_rcu_bulk after backend

removal, while delayed skb completion still reached

vhost_zerocopy_complete().

Honor the generic ubuf_info refcount before touching vhost state, and run

the vhost descriptor completion only for the final ubuf reference. This

matches the msg_zerocopy_complete() ownership rule for cloned zerocopy

skbs.

The record
Technical detail
CVSS v3.1
9.3 · CRITICAL
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00138 · 2.9th percentile
Published
2026-08-15T10:22Z
References (6)
EPSS history
Timeline
  • 15 AUG 05:58Z
    vhost/net: complete zerocopy ubufs only once
    cvelistv5