CVEvulnerability

CVE-2026-46321

7.1 HIGH Published 2026-06-09 Modified 2026-10-15 Official page ↗
Status
Modified
Published
2026-06-09
Last modified
2026-10-15
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
7.1 HIGH — CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H

Description

In the Linux kernel, the following vulnerability has been resolved: tun: free page on short-frame rejection in tun_xdp_one() tun_xdp_one() returns -EINVAL on a frame shorter than ETH_HLEN without freeing the page that vhost_net_build_xdp() allocated for it. tun_sendmsg() discards that -EINVAL and still returns total_len, so vhost_tx_batch() takes the success path and never frees the page; each short frame in a batch leaks one page-frag chunk. A local process that can open /dev/net/tun and /dev/vhost-net can hit this path: it attaches a tun/tap device as the vhost-net backend and feeds TX descriptors whose length minus the virtio-net header is below ETH_HLEN. Each kick leaks the page-frag chunks for that batch, and a tight submission loop exhausts host memory and triggers an OOM panic. Free the page before returning -EINVAL, matching the XDP-program error path in the same function.

Affected configurations

• linux linux kernel (>= 5.4.281 < 5.5) • linux linux kernel (>= 5.10.223 < 5.10.259) • linux linux kernel (>= 5.15.164 < 5.15.210) • linux linux kernel (>= 6.1.102 < 6.1.176) • linux linux kernel (>= 6.6.43 < 6.6.143) • linux linux kernel (>= 6.9.12 < 6.10) • linux linux kernel (>= 6.10.2 < 6.12.93) • linux linux kernel (>= 6.13 < 6.18.35) • linux linux kernel (>= 6.19 < 7.0.12) • linux linux kernel 7.1

References