CVE-2026-46321

HIGH

tun: free page on short-frame rejection in tun_xdp_one()

Title source: cna
STIX 2.1

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.

Scores

CVSS v3 7.1
EPSS 0.0013
EPSS Percentile 2.9%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H

Details

Status published
Products (46)
linux/Kernel < 5.10.259linux
linux/Kernel 5.11.0 - 5.15.210linux
linux/Kernel 5.16.0 - 6.1.176linux
linux/Kernel 6.11.0 - 6.18.35linux
linux/Kernel 6.13.0 - 7.0.12linux
linux/Kernel 6.2.0 - 6.6.143linux
linux/Kernel 6.7.0 - 6.12.93linux
Linux/Linux < 6.11
Linux/Linux 049584807f1d797fc3078b68035450a9769eb5c3 - 37a1c268c2c8090bf4dc552d732bd23ba36f8eb0
Linux/Linux 049584807f1d797fc3078b68035450a9769eb5c3 - 69863ff2720a0e9871f1a5710f2a33a94217fee0
... and 36 more
Published Jun 09, 2026
Tracked Since Jun 09, 2026