CVE-2026-80925

CVE-2026-80925

published September 9, 2026

CVSS
—
EPSS
0%
Percentile
4.4
In the wild
Unconfirmed
What it is

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

vlan: fix skb_under_panic and races when toggling HW VLAN offload

Toggling hardware VLAN TX offload (NETIF_F_HW_VLAN_CTAG_TX or

NETIF_F_HW_VLAN_STAG_TX) on a lower device invokes vlan_transfer_features(),

which dynamically changed vlandev->hard_header_len.

This causes two issues:

1. Lockless TX paths (e.g. packet_snd in af_packet.c, ip6_finish_output2)

read dev->hard_header_len without holding RTNL lock. Mutating

hard_header_len dynamically under RTNL creates a data race where upper

layers reserve insufficient headroom based on a stale hard_header_len,

resulting in skb_under_panic when vlan_dev_hard_header() is called.

2. In addition, vlan_transfer_features() updated hard_header_len without

updating header_ops, causing a mismatch between allocated headroom

and header creation.

Always setting dev->hard_header_len = real_dev->hard_header_len and

dev->needed_headroom = real_dev->needed_headroom + VLAN_HLEN unconditionally

ensures:

- dev->hard_header_len remains 100% static and immutable at real_dev->hard_header_len,

eliminating all dynamic runtime updates and data races on hard_header_len.

- Upper layers allocating skbs via LL_RESERVED_SPACE() will always reserve

sufficient headroom for software VLAN tag insertion (real_dev->hard_header_len +

real_dev->needed_headroom + VLAN_HLEN).

- vlandev inherits real_dev->needed_tailroom so underlying trailer/padding/ICV

requirements are honored.

- AF_PACKET SOCK_RAW network header offsets remain correctly aligned at

real_dev->hard_header_len.

- vlan_header_ops is used unconditionally.

Note to stable teams: Make sure to backport these commits:

e16e960d55a4 ("ipvlan: inherit needed_headroom and needed_tailroom from phy_dev")

cef51860becd ("macvlan: inherit needed_headroom and needed_tailroom from lowerdev")

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00156 · 4.4th percentile
Published
2026-09-09T21:17Z
References (5)
EPSS history
Timeline
  • 11 SEP 03:19Z
    EPSS moved — → 0%
    epss
  • 09 SEP 16:19Z
    vlan: fix skb_under_panic and races when toggling HW VLAN offload
    cvelistv5