Skip to main content

Linux kernel EUVDEUVD-2026-45798

| CVE-2026-64113 CRITICAL
Use After Free (CWE-416)
2026-07-19 Linux GHSA-gwhj-73cj-phr2
Critical
Disputed · 9.8 Vendor: Linux
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.3 MEDIUM

L2-adjacent frame injection (AV:A), non-default VEPA config plus RX-timing dependency (AC:H), no auth (PR:N); demonstrated impact is a kernel crash/DoS (A:H) with no substantiated confidentiality or integrity effect.

3.1 AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:A/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.3 MEDIUM
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 HIGH
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 17:31 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
9.8 (CRITICAL)
Patch available
Jul 19, 2026 - 17:03 EUVD
CVE Published
Jul 19, 2026 - 15:40 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 15:40 cve.org
CRITICAL 9.8

DescriptionCVE.org

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

ixgbevf: fix use-after-free in VEPA multicast source pruning

ixgbevf_clean_rx_irq() prunes frames whose source MAC matches the VF's own address (VEPA multicast workaround) by freeing the skb and continuing to the next descriptor:

dev_kfree_skb_irq(skb); continue;

The skb pointer is declared outside the while loop and persists across iterations. Because the continue skips the "skb = NULL" reset at the bottom of the loop, the next iteration enters the "else if (skb)" path and calls ixgbevf_add_rx_frag() on the freed skb, dereferencing skb_shinfo(skb)->nr_frags - a use-after-free in NAPI softirq context.

The sibling driver iavf already handles this correctly by nulling the pointer before continuing. Apply the same pattern here.

I do not have ixgbevf hardware; the bug was found by static analysis (scan_drop_continue_loops.py + semgrep drop_continue_in_loop, multi-tool corroboration with the highest score in the scan). The UAF was confirmed under KASAN by loading a test module that reproduces the exact code pattern (alloc skb, kfree_skb, then read skb_shinfo(skb)->nr_frags):

BUG: KASAN: slab-use-after-free in ixgbevf_uaf_test_init+0x100/0x1000 Read of size 8 at addr 000000006163ae78 by task insmod/30 freed 208-byte region [000000006163adc0, 000000006163ae90)

QEMU emulates igb (82576) but not ixgbe (82599), and the igbvf VF driver does not include the VEPA source pruning path, so a full end-to-end reproduction with emulated hardware was not possible.

AnalysisAI

Use-after-free in the Linux kernel's ixgbevf driver (Intel 82599 SR-IOV virtual-function NIC driver) occurs when the VEPA multicast source-pruning workaround frees an skb and continues the receive loop without resetting the shared skb pointer to NULL, so the next descriptor iteration calls ixgbevf_add_rx_frag() on freed memory in NAPI softirq context. The flaw is present in ixgbevf's ixgbevf_clean_rx_irq() and affects VFs running in VEPA mode on hosts using the 82599/X520 family. There is no public exploit identified at time of analysis - the bug was located by static analysis (scan_drop_continue_loops.py / semgrep) and the UAF was confirmed under KASAN only via a synthetic test module reproducing the code pattern, not against real hardware; EPSS is low (0.18%, 7th percentile) and it is not on CISA KEV.

Technical ContextAI

The affected component is ixgbevf, the mainline Linux driver for the virtual functions exposed by Intel 82599/X520 (ixgbe) 10GbE controllers under SR-IOV. In VEPA (Virtual Ethernet Port Aggregator) deployments, multicast frames looped back by the physical switch can carry the VF's own source MAC, so ixgbevf_clean_rx_irq() prunes them by calling dev_kfree_skb_irq(skb) followed by continue. The skb variable is declared outside the receive while-loop and is intended to be cleared to NULL at the bottom of each iteration; the continue skips that reset, so the following iteration takes the 'else if (skb)' branch and dereferences skb_shinfo(skb)->nr_frags on the already-freed buffer. Root cause is a classic CWE-416 use-after-free (the input lists CWE as N/A) driven by pointer lifetime spanning loop iterations - the sibling iavf driver avoids it by nulling the pointer before continuing.

RemediationAI

Vendor-released patch: update to a fixed stable kernel - 5.10.258, 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11, or mainline 7.1, whichever matches your branch - which nulls the skb pointer before the continue in ixgbevf_clean_rx_irq(); the corresponding stable commits are at https://git.kernel.org/stable/c/55b3e91d62b2f7a24109b2d7c9f4c66d2e3b1ec1 and its siblings, and tracking is at https://nvd.nist.gov/vuln/detail/CVE-2026-64113. If you cannot patch immediately, the most effective compensating control is to disable VEPA mode on the affected virtual functions (switch the SR-IOV port/bridge back to VEB/local switching), which removes the multicast source-pruning code path entirely at the cost of losing hairpin/VEPA switch-assisted forwarding; alternatively, restrict which entities can inject multicast traffic onto the VF's L2 segment (switch-side source-MAC filtering / anti-spoofing) to prevent frames carrying the VF's own source MAC from reaching it, accepting the management overhead of maintaining those ACLs. Building the kernel with KASAN will detect but not prevent the condition and is unsuitable for production.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-45798 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy