KernelScan.io

HIGH Introduced in 2.6.12

ipvs NatICMP OOB

CVE-2026-74724

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 AI7.7HIGH

01

In the Linux kernel, the following vulnerability has been resolved: ipvs: avoid out-of-bounds write in ip_vs_nat_icmp Sashiko warns that local attacker can modify the packet while it is processed by IPVS. Some places read the IP ihl field multiple times which can cause out-of-bounds access. One such place is ip_vs_nat_icmp where we can write after the validated area. Fix it by providing ciph argument just like it is done for IPv6 and use ciph->len as offset to the embedded transport header. Modify some IPv4 header checks by reading the ihl field only once.

02

Engine v0.6.0

Risk summary

A local attacker who can send crafted ICMP packets through an IPVS-configured system can trigger an out-of-bounds write in kernel memory, potentially leading to privilege escalation or system crash. IPVS must be enabled and configured (requiring CAP_NET_ADMIN) for the vulnerable code path to be reachable. Systems running IPVS load balancing in multi-tenant or container environments are at highest risk.

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

Vulnerability analysis

When IPVS processes ICMP error packets containing an embedded IP header, the code reads the IP header length field directly from the packet buffer at multiple points without caching the validated value. The initial validation only checks the minimum length but not the upper bound, so a crafted ICMP packet with an inflated header-length value causes the code to compute an offset beyond the actual packet data and write port-number modifications to out-of-bounds kernel memory. The fix passes a pre-validated header structure through the call chain so the offset to the embedded transport header is computed once from validated data and reused, eliminating both the repeated unvalidated reads and the missing upper-bound check. Exploitation requires IPVS to be configured on the target system and a local attacker capable of sending crafted ICMP packets through the IPVS processing path.

03

BranchIntroducedFixed inPatch commit
6.122.6.126.12.104be65fa324640
6.182.6.126.18.45a69a4b3fff58
7.12.6.127.1.9243d0187ec4c
mainline2.6.127.2646922a03794
6.12.6.126.1.1833b8f79af0e98
6.62.6.126.6.1523c779b258c9c
cip/6.12.6.126.1.187-cip603b8f79af0e98
cip/6.122.6.126.12.104-cip30be65fa324640