CVE-2026-80731 json
net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header
published 2026-09-03 2 mo ago modified 2026-10-16 23 d ago also EUVD-2026-70335
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 3%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Linux Linux 3.2.81, 3.17, 4.2, 4.5, 4.6, 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9, 7.2
- linux Debian 12 6.1.187-1
- linux Debian 13 6.12.105-1
- linux Debian 14 7.1.9-1
- linux-6.12 Debian 12 6.12.107-1~deb12u1
debian advisories DEBIAN-CVE-2026-80731
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 26.04 LTS 7.0.0-42.42
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1016.18
- linux-gke Ubuntu 22.04 LTS 5.15.0-1113.119
- linux-ibm Ubuntu 22.04 LTS 5.15.0-1111.115
ubuntu advisories UBUNTU-CVE-2026-80731
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.84.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.84.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.84.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-obs-build SLE Module for Development Tools 15 SP7 6.4.0-150700.53.84.1
- kernel-default-base SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1.150700.17.47.1
suse advisories SUSE-SU-2026:4706-1SUSE-SU-2026:4687-1SUSE-SU-2026:4640-1SUSE-SU-2026:24316-1SUSE-SU-2026:24315-1SUSE-SU-2026:24181-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.38.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.38.1
opensuse advisories openSUSE-SU-2026:21910-1
- git.kernel.org/stable/c/53fd7f912c0877647d6a1e1877f5ea8535ee0b4a commit
- git.kernel.org/stable/c/fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6 commit
- git.kernel.org/stable/c/8fc9816404166a90ed8d544dc52482fafffb6d9f commit
- git.kernel.org/stable/c/b0f92a5731dc82556a9ae005cc35f71ab136307b commit
- git.kernel.org/stable/c/99df6b7a713f96eda206680d100b76e15f9d9b69 commit
- git.kernel.org/stable/c/74e035f07f53feca09e2352e77fccb09cad5e208 commit
- git.kernel.org/stable/c/dbb30dc943a93e083f1e531bfdc6779e57de40d0 commit
- git.kernel.org/stable/c/fc902f52a02298c7432b2334c0c82a2885a1a8b6 commit
- git.kernel.org/stable/c/3b9a324e646d3657a8d9806dfbfe4f3e4066e882 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-80731 updated cvss 4.7
kernel: net: remove CAP_SYS_RAWIO zero-padding in dev_validate_header
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 23 d ago
Exploit prediction
0.14% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/53fd7f912c0877647d6a1e1877f5ea8535ee0b4a
- git.kernel.org /stable/c/fa6d98dd925e72fc028b26a0cbbff9d2f0601ff6
- git.kernel.org /stable/c/8fc9816404166a90ed8d544dc52482fafffb6d9f
- git.kernel.org /stable/c/b0f92a5731dc82556a9ae005cc35f71ab136307b
- git.kernel.org /stable/c/99df6b7a713f96eda206680d100b76e15f9d9b69
- git.kernel.org /stable/c/74e035f07f53feca09e2352e77fccb09cad5e208
- git.kernel.org /stable/c/dbb30dc943a93e083f1e531bfdc6779e57de40d0
- git.kernel.org /stable/c/fc902f52a02298c7432b2334c0c82a2885a1a8b6
- git.kernel.org /stable/c/3b9a324e646d3657a8d9806dfbfe4f3e4066e882
Sources
- CVE List CVE-2026-80731
- NVD CVE-2026-80731
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.