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

macvlan: inherit needed_headroom and needed_tailroom from lowerdev

macvlan devices inherit hard_header_len from lowerdev during macvlan_init(),
but leave needed_headroom and needed_tailroom set to 0.

When the underlying lowerdev 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() / macvlan_hard_header()
prepends header data or when lower devices append tailroom.

Fix this by:
1. Inheriting needed_headroom and needed_tailroom from lowerdev in macvlan_init().
2. Propagating needed_headroom and needed_tailroom updates to attached macvlans
in macvlan_device_event() when receiving NETDEV_FEAT_CHANGE events.
Published: 2026-08-26
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Kernel crash / DoS
Action: Patch immediately
AI Analysis

Impact

An oversight in the Linux kernel’s macvlan driver causes the driver to miss inheriting the needed_headroom and needed_tailroom values from the underlying network device during initialization; as a result, when lower-layer protocols such as macsec, ipsec, wireguard, tunnels or virtual Ethernet adapters prepend headers or trailers to packets, the kernel fails to reserve sufficient memory space. This shortfall can trigger excessive memory reallocation, headroom underflow, or a KASAN slab-use-after-free crash, leading to kernel panics or denial‑of‑service. The flaw is a memory‑handling weakness (CWE‑124).

Affected Systems

All Linux kernel implementations that include the macvlan networking module are affected, regardless of vendor. The flaw remains present in every kernel release that does not incorporate the commit that inherits needed_headroom and needed_tailroom values; no explicit version list is provided in the advisory.

Risk and Exploitability

Because the vulnerability manifests whenever network packets traverse a macvlan interface that is bound to a lower‑layer device requiring additional headroom or tailroom, the likely attack vector is network traffic sent to such a macvlan‑attached device; this inference is drawn from the description that the issue arises during dev_hard_header() or macvlan_hard_header() operations. The EPSS score is < 1%, indicating a very low but nonzero likelihood of exploitation, and the flaw is not listed in the CISA KEV catalog. The CVSS score is 9.8, indicating a high severity; any attacker capable of sending crafted packets to the target can potentially trigger a denial‑of‑service or, in the presence of additional vulnerabilities, escalated privileges.

Generated by OpenCVE AI on August 28, 2026 at 08:47 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the upstream kernel patch that adds inheritance of needed_headroom and needed_tailroom in macvlan_init() and propagates changes, resolving the memory‑management flaw (CWE‑124).
  • Temporarily disable or limit macvlan interfaces or drop protocols that add extra headroom/tailroom (e.g., macsec, ipsec, wireguard, tunnels, veth with rx headroom) until the patch is applied, thereby reducing exposure to memory corruption (CWE‑124).
  • Monitor kernel logs for KASAN messages or panics and verify that the kernel version includes the fix; if not, apply a backport or security update that mitigates the memory failure.

Generated by OpenCVE AI on August 28, 2026 at 08:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4777-1 linux security update
History

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-124
References
Metrics threat_severity

None

threat_severity

Important


Thu, 27 Aug 2026 08:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-122

Thu, 27 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Wed, 26 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-122

Wed, 26 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: macvlan: inherit needed_headroom and needed_tailroom from lowerdev macvlan devices inherit hard_header_len from lowerdev during macvlan_init(), but leave needed_headroom and needed_tailroom set to 0. When the underlying lowerdev 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() / macvlan_hard_header() prepends header data or when lower devices append tailroom. Fix this by: 1. Inheriting needed_headroom and needed_tailroom from lowerdev in macvlan_init(). 2. Propagating needed_headroom and needed_tailroom updates to attached macvlans in macvlan_device_event() when receiving NETDEV_FEAT_CHANGE events.
Title macvlan: inherit needed_headroom and needed_tailroom from lowerdev
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-27T05:01:04.222Z

Reserved: 2026-08-15T05:44:03.930Z

Link: CVE-2026-74743

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-26T15:16:53.113

Modified: 2026-08-27T06:17:24.113

Link: CVE-2026-74743

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-26T00:00:00Z

Links: CVE-2026-74743 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T09:00:10Z

Weaknesses
  • CWE-124

    Buffer Underwrite ('Buffer Underflow')