CVE-2026-64113CWE-416

CVE-2026-64113

Critical · published July 19, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
43.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00527 · 43.8th percentile
Weakness
CWE-416 · Use After Free
Published
2026-07-19T20:17Z
Affected products (11)
ProductVersionsFixed in
linux/linux_kernel≥ 3.19, < 5.10.2585.10.258
linux/linux_kernel≥ 5.11, < 5.15.2095.15.209
linux/linux_kernel≥ 5.16, < 6.1.1756.1.175
linux/linux_kernel≥ 6.2, < 6.6.1426.6.142
linux/linux_kernel≥ 6.7, < 6.12.926.12.92
linux/linux_kernel≥ 6.13, < 6.18.346.18.34
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 19 JUL 15:40Z
    ixgbevf: fix use-after-free in VEPA multicast source pruning
    cvelistv5