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

net: tun: bound receive headroom

tun_get_user() uses tun->align both as skb headroom and when choosing how
much packet data to keep linear. OVS can propagate an oversized headroom
request from another port to TUN or TAP.

When align is larger than the usable space in a one-page skb head,
SKB_MAX_HEAD(align) underflows and the result becomes negative when stored
in good_linear. That value later wraps when assigned to the size_t linear
variable, and tun_alloc_skb() can place skb->data outside the allocated
head.

Bound the headroom stored by TUN to the one-page skb-head budget and the
largest non-sentinel 16-bit skb header offset. Leave one linear byte for
raw TUN and a complete Ethernet header for TAP, including NET_IP_ALIGN.

Also pull the raw-TUN protocol byte and the TAP Ethernet header before
accessing them, so these checks remain safe for nonlinear skbs supplied by
other allocation paths.
Published: 2026-09-11
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Memory corruption leading to potential privilege escalation
Action: Immediate Patch
AI Analysis

Impact

The fault resides in the Linux kernel's net tun subsystem, where tun_get_user() misinterprets the tun->align field as both skb headroom and linear data length. When a port such as Open vSwitch forwards an oversized headroom request, the calculation of SKB_MAX_HEAD can underflow, causing a negative value for good_linear. That negative value later wraps into an unsigned size_t and instructs tun_alloc_skb() to place skb->data outside its allocated head region, corrupting kernel memory. This out‑of‑bounds write (CWE‑787) can be exploited for arbitrary kernel code execution or denial of service.

Affected Systems

All Linux kernel releases containing the tun module before the patch that enforces a one‑page headroom budget are affected. The issue is present regardless of distribution or kernel version, as long as the vulnerable code paths remain active. No specific product or version list was provided, so any system running a kernel that has not yet received the change should be considered vulnerable.

Risk and Exploitability

The CVSS score of 6.4 indicates moderate severity. No EPSS data is available, and the vulnerability is not listed in the CISA KEV catalog. Exploitability would require an attacker to influence the tun interface headroom value, typically through a privileged or compromised network service that interacts with TUN/TAP or via tools like Open vSwitch. Because the flaw leads to kernel memory corruption, successful exploitation could grant the attacker elevated privileges or cause a system crash. The lack of a public exploit suggests the immediate risk is moderate but non‑negligible in environments that load the tun module and accept open traffic over TUN/TAP.

Generated by OpenCVE AI on September 12, 2026 at 03:14 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the patch for this TUN/TAP headroom issue.
  • If a kernel update is not immediately possible, unload or blacklist the tun module until the correct patch is applied.
  • For systems that must continue using tun/tap, limit its exposure to trusted users or applications and consider applying a firewall rule that blocks traffic from untrusted sources.
  • If Open vSwitch is employed, configure it to avoid propagating oversized headroom values to tun/tap interfaces.

Generated by OpenCVE AI on September 12, 2026 at 03:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 13 Sep 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

cvssV3_1

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


Sat, 12 Sep 2026 00:15:00 +0000

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

None

cvssV3_1

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

threat_severity

Important


Fri, 11 Sep 2026 23:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net: tun: bound receive headroom tun_get_user() uses tun->align both as skb headroom and when choosing how much packet data to keep linear. OVS can propagate an oversized headroom request from another port to TUN or TAP. When align is larger than the usable space in a one-page skb head, SKB_MAX_HEAD(align) underflows and the result becomes negative when stored in good_linear. That value later wraps when assigned to the size_t linear variable, and tun_alloc_skb() can place skb->data outside the allocated head. Bound the headroom stored by TUN to the one-page skb-head budget and the largest non-sentinel 16-bit skb header offset. Leave one linear byte for raw TUN and a complete Ethernet header for TAP, including NET_IP_ALIGN. Also pull the raw-TUN protocol byte and the TAP Ethernet header before accessing them, so these checks remain safe for nonlinear skbs supplied by other allocation paths.
Title net: tun: bound receive headroom
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-09-13T06:29:02.537Z

Reserved: 2026-08-26T14:34:25.812Z

Link: CVE-2026-81000

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-11T20:19:07.710

Modified: 2026-09-13T07:17:06.600

Link: CVE-2026-81000

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-11T19:42:54Z

Links: CVE-2026-81000 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-12T09:45:11Z

Weaknesses