CVE-2026-80731

net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header

State
Published
Severity
7.8 High
Published
Sep 3, 2026
Updated
Oct 16, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b5518429e70cd783b8ca52335456172c1a0589f6 to before 53fd7f912c0877647d6a1e1877f5ea8535ee0b4aAffected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6Affected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before 8fc9816404166a90ed8d544dc52482fafffb6d9fAffected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before b0f92a5731dc82556a9ae005cc35f71ab136307bAffected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before 99df6b7a713f96eda206680d100b76e15f9d9b69Affected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before 74e035f07f53feca09e2352e77fccb09cad5e208Affected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before dbb30dc943a93e083f1e531bfdc6779e57de40d0Affected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before fc902f52a02298c7432b2334c0c82a2885a1a8b6Affected
  • 2793a23aacbd754dbbb5cb75093deb7e4103bace to before 3b9a324e646d3657a8d9806dfbfe4f3e4066e882Affected
  • f58a6c08ebdfa978178bbca78c2ba744a2665912Affected
  • 1df16498dfd0d5a129bdf2982d9a08df73e8923dAffected
  • 8b8d278aa4de9335682bbd4a3bb619af015c859eAffected
  • 6804052fa9d86e9a512c88b24a5debbfc1a490fcAffected
  • 3.2.80 to before 3.2.81Affected
  • 3.16.36 to before 3.17Affected
  • 4.1.28 to before 4.2Affected
  • 4.4.8 to before 4.5Affected
  • 4.5.2 to before 4.6Affected
LinuxLinux
  • 4.6Affected
  • before 4.6Not affected
  • 3.2.81 through 3.2.*Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.152 through 6.6.*Not affected
  • 6.12.104 through 6.12.*Not affected
  • 6.18.45 through 6.18.*Not affected
  • 7.1.9 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.