← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-64114

Last refreshed2026-10-17

Status: UPDATED  |  Advisory ID: CVE-2026-64114

Key Details

CVECVE-2026-64114
CVSS Score / Version
7.8 (High) / CVSS v3.1
Updated2026-10-16
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Prose
attack vector is local; attack complexity is low; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.
Affected products
Linux Kernel
Classified as
CWE-125 (Out-of-bounds Read)

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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

ipv4: raw: reject IP_HDRINCL packets with ihl < 5

raw_send_hdrinc() validates that the caller-supplied IPv4 header

fits within the message length:

iphlen = iph->ihl * 4;

err = -EINVAL;

if (iphlen > length)

goto error_free;

if (iphlen >= sizeof(*iph)) {

/* fix up saddr, tot_len, id, csum, transport_header */

}

It does not, however, reject ihl < 5. For such a packet the

"if (iphlen >= sizeof(*iph))" branch is skipped, leaving the

crafted iphdr untouched, but the packet is still handed to

__ip_local_out() and onward. Downstream consumers that read

iph->ihl assume a sane value: net/ipv4/ah4.c:ah_output() in

particular subtracts sizeof(struct iphdr) from top_iph->ihl * 4

and passes the (signed-int-negative, then cast to size_t)

result to memcpy(), producing an OOB access of length close to

SIZE_MAX and a host kernel panic.

An IPv4 header with ihl < 5 is malformed by definition (RFC 791:

"Internet Header Length is the length of the internet header in

32 bit words ... Note that the minimum value for a correct header

is 5."). The kernel should not be willing to inject such a

packet into its own output path.

Reject "iphlen < sizeof(*iph)" alongside the existing

"iphlen > length" check. This matches the principle that locally

constructed packets that re-enter the IP stack must pass the same

basic sanity tests that a foreign packet would be subjected to.

Once this lands, the "if (iphlen >= sizeof(*iph))" wrapper around

the fixup branch becomes redundant; left in place to keep the

patch minimal and backport-friendly. A follow-up can unwrap it.

Note that commit 86f4c90a1c5c ("ipv4, ipv6: ensure raw socket

message is big enough to hold an IP header") ensures the message

buffer is large enough to hold an iphdr, but does not constrain

the self-reported iph->ihl.

Reachability: the malformed packet source is any caller with

CAP_NET_RAW, including an unprivileged process in a user+net

namespace on a kernel with CONFIG_USER_NS=y. The reproduced AH

crash also requires a matching xfrm AH policy on the outgoing

route; a container granted CAP_NET_ADMIN can install that state

and policy in its netns. Loopback bypasses xfrm_output, so the

trigger uses a real netdev.

Reproduced on UML + KASAN: kernel-mode fault at addr 0x0 with

memcpy_orig at the crash site. Same shape reproduces inside a

rootless Docker container with --cap-add NET_ADMIN on a stock

distro kernel. (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-64114
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-64114
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.