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.
Published: 2026-06-09
Score: 5.5 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, tun_xdp_one() fails to free a page allocated for frames shorter than ETH_HLEN, resulting in a memory leak. The leaked page fragments accumulate with each short frame processed, eventually exhausting memory and triggering an OOM panic. This flaw is a classic memory leak (CWE-763) that undermines system stability.

Affected Systems

The vulnerability affects all Linux kernel versions prior to the patch that introduced proper page cleanup in tun_xdp_one(). It can be exercised by any local process that can open /dev/net/tun and /dev/vhost-net, attach a tun/tap device as the vhost-net backend, and send TX descriptors containing frames whose length minus the virtio-net header is below ETH_HLEN.

Risk and Exploitability

The exploit path is local: a user crafts a tight loop of short frames on a tun/tap interface connected to vhost-net, which repeatedly triggers the memory leak until the host runs out of memory and crashes. EPSS is not available, so the likelihood of exploitation is uncertain, but the impact is severe local denial of service. The vulnerability is not listed in the CISA KEV catalog, yet the absence of EPSS does not mitigate the risk of an OOM‑based DoS driven by ordinary user activity. The CVSS score is 5.5, indicating moderate severity.

Generated by OpenCVE AI on June 10, 2026 at 01:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the fix for tun_xdp_one()
  • Restrict access to /dev/net/tun and /dev/vhost-net to trusted users or groups
  • Configure monitoring and alerts for OOM events to detect potential memory exhaustion

Generated by OpenCVE AI on June 10, 2026 at 01:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 10 Jun 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-763
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Tue, 09 Jun 2026 12:30:00 +0000

Type Values Removed Values Added
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.
Title tun: free page on short-frame rejection in tun_xdp_one()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-06-09T12:11:13.872Z

Reserved: 2026-05-13T15:03:33.112Z

Link: CVE-2026-46321

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-06-09T13:16:37.473

Modified: 2026-06-09T13:16:37.473

Link: CVE-2026-46321

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-06-09T00:00:00Z

Links: CVE-2026-46321 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-06-10T01:45:18Z

Weaknesses