CVE-2026-74582 packet: use consistent hard_header_len in non-ring send paths

High 7.8 Published Updated

A race condition in the Linux kernel packet socket implementation allows out-of-bounds writes, potentially leading to code execution or privilege escalation.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-74582?

CVE-2026-74582 is a high-severity vulnerability in Linux, published on 21 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

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

packet: use consistent hard_header_len in non-ring send paths

packet_snd() reads dev->hard_header_len multiple times while allocating and constructing an skb. Device reconfiguration can change this value concurrently, for example through bonding device type changes.

For SOCK_RAW, packet_snd() can save a larger value in reserve and later allocate headroom using a smaller value. Moving skb->data back by reserve then places it before skb->head, and the following copy from userspace can attempt an out-of-bounds write.

packet_sendmsg_spkt() has the same issue because it calculates its reservation and header offset from separate reads before dropping the RCU read lock to allocate the skb.

Add LL_RESERVED_SPACE_EX() for callers that already saved a header length. Read hard_header_len once in packet_snd() and use it for allocation and construction. In packet_sendmsg_spkt(), preserve the allocation-time value through the device lookup retry.

The separate SOCK_DGRAM consistency problem between hard_header_len and header_ops->create is not addressed here.

Which versions are affected by CVE-2026-74582?

Linux distribution packages (40)
bpftool Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
bpftool-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-abi-stablelists Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-core Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-core Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-devel Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-modules Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-modules-extra Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debuginfo-common-ppc64le Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debuginfo-common-x86_64 Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-devel Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-doc Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-modules Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-modules-extra Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-tools Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-tools-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-tools-libs Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
perf Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
perf-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
python3-perf Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
python3-perf-debuginfo Red Hat:rhel_e4s:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
bpftool Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
bpftool-debuginfo Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-abi-stablelists Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-core Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-core Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-debuginfo Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-devel Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-modules Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debug-modules-extra Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debuginfo Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-debuginfo-common-x86_64 Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-devel Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8
kernel-doc Red Hat:rhel_tus:8.8::baseosAll versions0:4.18.0-477.165.1.el8_8

How do I fix CVE-2026-74582?

Apply the vendor's patch.

Is CVE-2026-74582 being exploited?

There is no known exploitation of CVE-2026-74582 in the wild and no public exploit code.

Sources

Also known as AZL-96995, BELL-CVE-2026-74582, DEBIAN-CVE-2026-74582, GHSA-6g47-hqw2-hv2r, RHSA-2026:63537, UBUNTU-CVE-2026-74582.

Is CVE-2026-74582 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free