CVE-2026-80905

CVE-2026-80905

published September 4, 2026

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

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

net: tap: fix wrong transport_header when sending VLAN-tagged frame

In tap_get_user_xdp(), when processing a VLAN-tagged frame (e.g.

ETH_P_8021Q), skb_set_network_header() is called first to advance

network_header past the VLAN tag to the inner protocol header.

skb_probe_transport_header() is then called with skb->protocol still

set to ETH_P_8021Q, while nhoff (derived from skb_network_offset())

already points past the VLAN tag to the inner protocol header.

In __skb_flow_dissect(), proto is initialized to ETH_P_8021Q and nhoff

points past the VLAN tag. When the dissector hits case ETH_P_8021Q, it

reads a struct vlan_hdr at the current nhoff via __skb_header_pointer(),

but that offset contains the inner protocol header (e.g. an IP header).

The bytes are misinterpreted as a VLAN header, yielding a garbage

encapsulated EtherType that matches no known protocol. The dissector

returns false, so skb_probe_transport_header() never calls

skb_set_transport_header(), leaving transport_header at its uninitialized

sentinel value (~0U).

Move skb_set_network_header() to after skb_probe_transport_header(). At

the time skb_probe_transport_header() is called, network_header still

points to the VLAN header (offset ETH_HLEN), so nhoff is correct and the

flow dissector can parse the VLAN header, extract the inner EtherType,

and advance nhoff to the inner protocol header, allowing transport_header

to be set correctly.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00209 · 10.5th percentile
Published
2026-09-04T22:18Z
References (5)
EPSS history
Timeline
  • 06 SEP 03:33Z
    EPSS moved — → 0%
    epss
  • 04 SEP 17:19Z
    net: tap: fix wrong transport_header when sending VLAN-tagged frame
    cvelistv5