{"id":15088,"date":"2026-09-04T19:02:25","date_gmt":"2026-09-04T11:02:25","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64121"},"modified":"2026-09-04T19:02:25","modified_gmt":"2026-09-04T11:02:25","slug":"cve-2026-64121","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64121","title":{"rendered":"CVE-2026-64121 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ifb: report etht"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: ifb: report ethtool stats over num_tx_queues<\/p>\n<p>ifb_dev_init() allocates dp-&gt;tx_private to dev-&gt;num_tx_queues<br \/>\nentries via kzalloc_objs(*txp, dev-&gt;num_tx_queues). Both IFB<br \/>\nper-queue RX and TX stats live in those entries: ifb_xmit() updates<br \/>\ntxp-&gt;rx_stats using the skb queue mapping, ifb_ri_tasklet() updates<br \/>\ntxp-&gt;tx_stats, and ifb_stats64() aggregates both over<br \/>\ndev-&gt;num_tx_queues.<\/p>\n<p>The ethtool stats callbacks instead size and walk the per-queue<br \/>\nstats with dev-&gt;real_num_rx_queues and dev-&gt;real_num_tx_queues. With<br \/>\nan asymmetric device where the RX queue count exceeds the TX queue<br \/>\ncount, for example:<\/p>\n<p>    ip link add name ifb10 numtxqueues 1 numrxqueues 8 type ifb<br \/>\n    ethtool -S ifb10<\/p>\n<p>ifb_get_ethtool_stats() indexes past the tx_private allocation and<br \/>\ncopies adjacent slab data through ETHTOOL_GSTATS.<\/p>\n<p>Use dev-&gt;num_tx_queues consistently for the stats strings, the<br \/>\nstats count, and the stats data walks. This reports one RX stats<br \/>\ngroup and one TX stats group for each backing ifb_q_private entry,<br \/>\nwhich is the queue set IFB can actually populate.<\/p>\n<p>Reproduced under UML+KASAN at v7.1-rc2:<\/p>\n<p>  BUG: KASAN: slab-out-of-bounds in ifb_fill_stats_data+0x3c\/0xae<br \/>\n  Read of size 8 at addr 0000000062dbd228 by task ethtool\/36<br \/>\n  ifb_fill_stats_data+0x3c\/0xae<br \/>\n  ifb_get_ethtool_stats+0xc0\/0x129<br \/>\n  __dev_ethtool+0x1ca5\/0x363c<br \/>\n  dev_ethtool+0x123\/0x1b3<br \/>\n  dev_ioctl+0x56c\/0x744<br \/>\n  sock_do_ioctl+0x15f\/0x1b2<br \/>\n  sock_ioctl+0x4d5\/0x50a<br \/>\n  sys_ioctl+0xd8b\/0xde9<\/p>\n<p>With the patch applied, the same UML+KASAN repro is silent and<br \/>\nethtool -S ifb10 reports only the stats backed by the single<br \/>\nallocated tx_private entry.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: ifb: report ethtool stats over num_tx_queues<\/p>\n<p>ifb_dev_init() allocates dp-&gt;tx_private to dev-&gt;num_tx_queues<br \/>\nentries via kzallo<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15088","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15088","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=15088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}