KernelScan.io

CRITICAL Introduced in 3.19

ipvlan Headroom UAF

CVE-2026-74744

CVSS 9.8 / 10.0 NVD

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

KernelScan AI7.0HIGH

01

In the Linux kernel, the following vulnerability has been resolved: ipvlan: inherit needed_headroom and needed_tailroom from phy_dev ipvlan devices inherit hard_header_len from phy_dev during ipvlan_init(), but leave needed_headroom and needed_tailroom set to 0. When the underlying phy_dev (or stacked lower device) requires extra headroom or tailroom for headers/trailers (e.g. macsec, ipsec, wireguard, tunnels, or veth with rx headroom), upper layers calculating packet headroom and tailroom fail to reserve sufficient space. This can result in reallocation overhead, skb headroom underflows, or KASAN slab-use-after-free crashes when dev_hard_header() / ipvlan_hard_header() prepends header data or when lower devices append tailroom. Fix this by: 1. Inheriting needed_headroom and needed_tailroom from phy_dev in ipvlan_init(). 2. Propagating needed_headroom and needed_tailroom updates to attached ipvlans in ipvlan_device_event() when receiving NETDEV_FEAT_CHANGE events.

02

Engine v0.6.0

Risk summary

An unprivileged local user who can create and configure ipvlan devices (via user namespaces or CAP_NET_ADMIN) can trigger a use-after-free in the kernel's network stack. This can lead to kernel memory corruption, information disclosure, or denial of service.

Affecteddrivers/net/ipvlan/ipvlan_main.c (ipvlan)

Vulnerability analysis

When an ipvlan virtual device is created on top of a physical or lower device that requires extra packet headroom or tailroom (such as devices using macsec, ipsec, wireguard, tunnels, or veth with rx headroom), the ipvlan driver fails to inherit the needed headroom and tailroom values from the underlying device. As a result, the kernel's network stack underestimates the buffer space required when building packets through the ipvlan device. When a header is prepended or trailer data is appended, the socket buffer (skb) can underflow its headroom or overflow its tailroom, leading to a slab use-after-free detected by KASAN. The fix ensures ipvlan devices inherit the needed_headroom and needed_tailroom from their parent device at initialization time and whenever the parent's features change. This vulnerability is reachable locally by any user who can create network namespaces and configure ipvlan devices, which is possible with CAP_NET_ADMIN obtainable in a user namespace on most Linux distributions.

03

BranchIntroducedFixed inPatch commit
6.13.196.1.184af602c4d0ee5
6.123.196.12.105c0fbe31f6b20
6.183.196.18.465f33188457bb
7.13.197.1.105c2ca77212eb
mainline3.197.2e16e960d55a4
6.63.196.6.153f3c17ff65f54
cip/6.13.196.1.187-cip60af602c4d0ee5
cip/6.123.196.12.108-cip31c0fbe31f6b20