CVE Tools

CVE-2026-98377

vlan: require the MAC header to be present in __vlan_insert_inner_tag()

No known exploitation. EPSS puts it in the 4th percentile. Fixed versions are out.

Published Updated Sources: CVE.org, NVD

What to do

Find your product and version, then upgrade to the build on the right.

  • LinuxAffected: ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 40a5cc4b7251c74f3341332a226d02200e96bccfUpgrade to: 40a5cc4b7251c74f3341332a226d02200e96bccfAffected: ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < f42562dd027dc4ed103fae17b2206e73ea1963c4Upgrade to: f42562dd027dc4ed103fae17b2206e73ea1963c4Affected: ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 59af43ccece4d2d8b62e9e3ccc96b6e2e793bcdcUpgrade to: 59af43ccece4d2d8b62e9e3ccc96b6e2e793bcdcAffected: ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < ab888242fce4f16f6c4d4c6ec53939ad36aa3b3aUpgrade to: ab888242fce4f16f6c4d4c6ec53939ad36aa3b3aStated by: CVE record

Versions as the sources state them. Full version matrix after sign-in

What it is

From the CVE record

In the Linux kernel, the following vulnerability has been resolved: vlan: require the MAC header to be present in __vlan_insert_inner_tag() __vlan_insert_inner_tag() only guarantees head room via skb_cow_head(), never that mac_len bytes of MAC header are present. Its ETH_HLEN wrappers - __vlan_insert_tag() under skb_vlan_push(), and vlan_insert_tag() under validate_xmit_vlan() on the generic transmit path - therefore rewrite the first 16 bytes at skb->data: a 12-byte memmove plus two 2-byte stores at +12 and +14. No caller supplies the bound, while the pop helpers use skb_ensure_writable()/pskb_may_pull(). An IFF_TUN device has hard_header_len == 0, so packet_snd() accepts a one-byte AF_PACKET/SOCK_RAW frame. The first vlan push only sets a hwaccel tag; the next - clsact "action vlan push" or bpf_skb_vlan_push() - enters the helper with skb->len still 1. The head comes from skbuff_small_head without __GFP_ZERO, so each push drags bytes from beyond skb->tail into the frame. After three the one-byte send leaves as 13 bytes carrying 11 bytes of uninitialised slab: 0000: 5a b3 62 12 80 88 ff ff 00 b3 62 12 81 `------------------------------' only 0x5a was sent; the rest is slab, here the top 56 bits of a linear-map address Require the MAC header the helper rewrites to be present, so such a frame is dropped rather than transmitted.

In plain language

No plain-language summary for this CVE yet.

Exploitation

Where each signal puts this CVE on the scale from published to confirmed exploited.

EPSS4th
CISA KEV

Not in the catalog. CISA has not confirmed exploitation.

Public exploits

No public exploit or proof of concept found in the sources we track.

EPSS

0.2% chance of exploitation activity in the next 30 days, which ranks it in the 4th percentile of scored CVEs.

Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.

Lifecycle

2 events over 0 days, from the signal feeds we watch.

  1. Publishedrecord updated

Affected products

Sources

Watch the software you run.

My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.

We'll flag the next CVE, public exploit or patch for Linux, not every advisory.