CVE-2026-80731

CVE-2026-80731

High · published September 3, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
3.2
In the wild
Unconfirmed
What it is

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

net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header

dev_validate_header() reads dev->hard_header_len directly when

zero-padding short link layer headers for CAP_SYS_RAWIO holders:

if (capable(CAP_SYS_RAWIO)) {

memset(ll_header + len, 0, dev->hard_header_len - len);

return true;

}

Packet send paths call dev_validate_header() on skbs whose headroom was

allocated from an earlier hard_header_len read. If the device is

reconfigured so that dev->hard_header_len increases before validation,

the memset writes past the reserved buffer, an out-of-bounds write.

This out-of-bounds write is masked in some SOCK_RAW paths today because

the same concurrent increase can first make skb_push() exceed the

reserved headroom and trigger skb_under_panic(). Remove the zero-padding

branch before making those hard_header_len reads consistent, so the

snapshot fixes do not turn a loud panic into a silent overwrite.

This path is only reached for variable length L2 protocols, where

len < hard_header_len but len >= min_header_len. No remaining in-tree

variable length L2 protocol implements header_ops->validate, and the

CAP_SYS_RAWIO bypass that zero-pads and accepts short headers has no

real value beyond allowing testing of intentionally malformed input.

Drop the CAP_SYS_RAWIO branch. The remaining reads of

dev->hard_header_len in dev_validate_header() are comparisons only and

have no memory safety impact.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00142 · 3.2th percentile
Published
2026-09-03T17:06Z
References (9)
EPSS history
Timeline
  • 04 SEP 03:44Z
    EPSS moved — → 0%
    epss
  • 03 SEP 08:21Z
    net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header
    cvelistv5