Bug 2502541 (CVE-2026-64113) - CVE-2026-64113 kernel: ixgbevf: fix use-after-free in VEPA multicast source pruning
Summary: CVE-2026-64113 kernel: ixgbevf: fix use-after-free in VEPA multicast source p...
Keywords:
Status: NEW
Alias: CVE-2026-64113
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-19 17:05 UTC by OSIDB Bzimport
Modified: 2026-09-18 06:44 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2026:65334 0 None None None 2026-09-08 11:35:21 UTC
Red Hat Product Errata RHSA-2026:66324 0 None None None 2026-09-10 05:18:42 UTC
Red Hat Product Errata RHSA-2026:66325 0 None None None 2026-09-10 05:40:01 UTC
Red Hat Product Errata RHSA-2026:67150 0 None None None 2026-09-14 13:36:32 UTC

Description OSIDB Bzimport 2026-07-19 17:05:10 UTC
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.

Comment 4 errata-xmlrpc 2026-09-08 11:35:20 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:65334 https://access.redhat.com/errata/RHSA-2026:65334

Comment 5 errata-xmlrpc 2026-09-10 05:18:41 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:66324 https://access.redhat.com/errata/RHSA-2026:66324

Comment 6 errata-xmlrpc 2026-09-10 05:40:00 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:66325 https://access.redhat.com/errata/RHSA-2026:66325

Comment 7 Jon Orris 2026-09-14 13:36:31 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:67150 https://access.redhat.com/errata/RHSA-2026:67150


Note You need to log in before you can comment on or make changes to this bug.