CVE-2026-72296 PUBLISHED

net: ife: require ETH_HLEN to be pullable in ife_decode()

Assigner: Linux
Reserved: 09.08.2026 Published: 15.08.2026 Updated: 17.08.2026

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

net: ife: require ETH_HLEN to be pullable in ife_decode()

ife decode may return after making only the outer IFE header and metadata pullable. The caller then passes the decapsulated packet to eth_type_trans(), which expects the inner Ethernet header to be accessible from the linear data area.

With a malformed IFE frame, the inner Ethernet header may still be shorter than ETH_HLEN in the linear area, which can lead to a crash in the original code.

Fix this by extending the pull check in ife_decode() so that the inner Ethernet header is also guaranteed to be pullable before returning.

Metrics

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

AV:N - The flaw is hit on the ingress packet receive path (__netif_receive_skb_core→sch_handle_ingress→tc_run→tcf_ife_act→ife_decode) when a remote peer sends a malformed IFE-encapsulated Ethernet frame to a netdev with clsact/ingress IFE decode, as in SDN/NFV/ForCES edge nodes. AC:L - Once ingress IFE decode is present, the attacker fully controls the crafted frame (metalen, metadata size, and skb layout) to leave the inner Ethernet header non-linear or shorter than ETH_HLEN, deterministically reaching eth_type_trans() without races or uncontrollable memory layout. PR:N - Remote exploitation needs no credentials or capabilities on the victim—only delivery of a malformed frame to an interface already configured with IFE decode; CAP_NET_ADMIN is an operator deployment prerequisite, not attacker privilege (same model as pre-configured nftables offload bugs). UI:N - No victim user action is required beyond normal network delivery of attacker-crafted IFE traffic; exploitation does not depend on mounting, opening files, or administrator interaction at attack time. S:U - Impact is confined to kernel packet-processing memory within the same kernel security authority; this is not a VM escape, IOMMU bypass, or cross-namespace scope change. C:H - eth_type_trans() reads the inner struct ethhdr (h_dest/h_proto) via eth_skb_pull_mac()/eth_skb_pkt_type() without ensuring ETH_HLEN bytes are linear, causing an out-of-bounds kernel read that can disclose adjacent skb/page memory beyond a few bytes. I:N - The defect is a missing pskb_may_pull() bounds check leading to out-of-bounds reads and crash; there is no write, UAF, or demonstrated arbitrary modification or control-flow hijack primitive. A:H - The fix commit states malformed IFE frames can crash the kernel; accessing a non-linear or undersized inner Ethernet header in eth_type_trans() can trigger KASAN faults, oops, or panic on the softirq receive path.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 70013f9163bef7fbd9fa62f81cf91b2a7ba66163 (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to be272e159dfe1207b67332ad6e17adcf59b4ea4b (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 8c8818e52fddb247ff3214622401a4de6ff8482e (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 9433578bff9c100c466a6354574892e55293cb8f (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 1cb42ec10294a55380e52e674b3df2b962648242 (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 5526d1997aea6c9bd865ca4d4894b52e799d735c (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to b69ad768cd4a2ef4e07c18492ae85438ed17c7cb (excl.)
  • affected from ef6980b6becb1afd9d82a4f043749a10ae81bf14 to 9406f6012b7343661efb516a11c62d4db2b62f75 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.6 is affected
  • unaffected from 0 to 4.6 (excl.)
  • unaffected from 5.10.261 to 5.10.* (incl.)
  • unaffected from 5.15.212 to 5.15.* (incl.)
  • unaffected from 6.1.178 to 6.1.* (incl.)
  • unaffected from 6.6.145 to 6.6.* (incl.)
  • unaffected from 6.12.97 to 6.12.* (incl.)
  • unaffected from 6.18.40 to 6.18.* (incl.)
  • unaffected from 7.1.5 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References