KernelScan.io

HIGH Introduced in 2.6.12

ipvs IcmpNat OOB

CVE-2026-74747

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI6.6MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: ipvs: revalidate ihl to prevent out-of-bounds access While the outer IP header is already pulled into the skb head, we must be careful and revalidate the embedded headers after reading them from the skb frags to prevent out-of-bounds access. One such place reported by Sashiko is ip_vs_nat_icmp() where local process can change the ihl field and after skb_ensure_writable() we can see larger value which is a problem for the ip_send_check(cih) calls. Add check to drop the packet if the ihl field is changed.

02

Engine v0.6.0

Risk summary

A local user on a system with IPVS (IP Virtual Server) configured can send crafted ICMP packets with an inflated inner IP header length field, causing the kernel to read beyond the actual header boundary during checksum computation. This can lead to a kernel panic or limited disclosure of adjacent kernel memory. Systems without IPVS configured are not affected.

Affectednet/netfilter/ipvs/ip_vs_core.c (IPVS)

Vulnerability analysis

When IPVS processes ICMP error packets containing an embedded IP header, the inner header's length field is read from paged packet data but not revalidated after the data is copied into a writable linear buffer. A local process can supply a packet where this length field is inflated, causing the checksum computation to read past the end of the actual header into adjacent memory. The fix adds a check that compares the inner header's declared length against the expected offset-derived length and drops the packet if they disagree, preventing the out-of-bounds access. The vulnerable path requires IPVS to be configured and is reachable by a local user who can send packets that traverse the IPVS forwarding path.

03

BranchIntroducedFixed inPatch commit
7.12.6.127.1.105365f012451f
mainline2.6.127.2d93660df4dd1