{"id":15082,"date":"2026-09-04T19:02:24","date_gmt":"2026-09-04T11:02:24","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64113"},"modified":"2026-09-04T19:02:24","modified_gmt":"2026-09-04T11:02:24","slug":"cve-2026-64113","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64113","title":{"rendered":"CVE-2026-64113 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nixgbevf: fix use-afte"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ixgbevf: fix use-after-free in VEPA multicast source pruning<\/p>\n<p>ixgbevf_clean_rx_irq() prunes frames whose source MAC matches the VF&#8217;s<br \/>\nown address (VEPA multicast workaround) by freeing the skb and<br \/>\ncontinuing to the next descriptor:<\/p>\n<p>    dev_kfree_skb_irq(skb);<br \/>\n    continue;<\/p>\n<p>The skb pointer is declared outside the while loop and persists across<br \/>\niterations.  Because the continue skips the &#8220;skb = NULL&#8221; reset at the<br \/>\nbottom of the loop, the next iteration enters the &#8220;else if (skb)&#8221; path<br \/>\nand calls ixgbevf_add_rx_frag() on the freed skb, dereferencing<br \/>\nskb_shinfo(skb)-&gt;nr_frags &#8211; a use-after-free in NAPI softirq context.<\/p>\n<p>The sibling driver iavf already handles this correctly by nulling the<br \/>\npointer before continuing.  Apply the same pattern here.<\/p>\n<p>I do not have ixgbevf hardware; the bug was found by static analysis<br \/>\n(scan_drop_continue_loops.py + semgrep drop_continue_in_loop, multi-tool<br \/>\ncorroboration with the highest score in the scan).  The UAF was confirmed<br \/>\nunder KASAN by loading a test module that reproduces the exact code<br \/>\npattern (alloc skb, kfree_skb, then read skb_shinfo(skb)-&gt;nr_frags):<\/p>\n<p>  BUG: KASAN: slab-use-after-free in ixgbevf_uaf_test_init+0x100\/0x1000<br \/>\n  Read of size 8 at addr 000000006163ae78 by task insmod\/30<br \/>\n  freed 208-byte region [000000006163adc0, 000000006163ae90)<\/p>\n<p>QEMU emulates igb (82576) but not ixgbe (82599), and the igbvf VF<br \/>\ndriver does not include the VEPA source pruning path, so a full<br \/>\nend-to-end reproduction with emulated hardware was not possible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ixgbevf: fix use-after-free in VEPA multicast source pruning<\/p>\n<p>ixgbevf_clean_rx_irq() prunes frames whose source MAC matches the VF&#8217;<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15082","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15082","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}