{"id":"CVE-2026-64121","state":"PUBLISHED","title":"net: ifb: report ethtool stats over num_tx_queues","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ifb: report ethtool stats over num_tx_queues\n\nifb_dev_init() allocates dp->tx_private to dev->num_tx_queues\nentries via kzalloc_objs(*txp, dev->num_tx_queues). Both IFB\nper-queue RX and TX stats live in those entries: ifb_xmit() updates\ntxp->rx_stats using the skb queue mapping, ifb_ri_tasklet() updates\ntxp->tx_stats, and ifb_stats64() aggregates both over\ndev->num_tx_queues.\n\nThe ethtool stats callbacks instead size and walk the per-queue\nstats with dev->real_num_rx_queues and dev->real_num_tx_queues. With\nan asymmetric device where the RX queue count exceeds the TX queue\ncount, for example:\n\n    ip link add name ifb10 numtxqueues 1 numrxqueues 8 type ifb\n    ethtool -S ifb10\n\nifb_get_ethtool_stats() indexes past the tx_private allocation and\ncopies adjacent slab data through ETHTOOL_GSTATS.\n\nUse dev->num_tx_queues consistently for the stats strings, the\nstats count, and the stats data walks. This reports one RX stats\ngroup and one TX stats group for each backing ifb_q_private entry,\nwhich is the queue set IFB can actually populate.\n\nReproduced under UML+KASAN at v7.1-rc2:\n\n  BUG: KASAN: slab-out-of-bounds in ifb_fill_stats_data+0x3c/0xae\n  Read of size 8 at addr 0000000062dbd228 by task ethtool/36\n  ifb_fill_stats_data+0x3c/0xae\n  ifb_get_ethtool_stats+0xc0/0x129\n  __dev_ethtool+0x1ca5/0x363c\n  dev_ethtool+0x123/0x1b3\n  dev_ioctl+0x56c/0x744\n  sock_do_ioctl+0x15f/0x1b2\n  sock_ioctl+0x4d5/0x50a\n  sys_ioctl+0xd8b/0xde9\n\nWith the patch applied, the same UML+KASAN repro is silent and\nethtool -S ifb10 reports only the stats backed by the single\nallocated tx_private entry.","publishedAt":"2026-07-19T15:40:19.745Z","updatedAt":"2026-07-19T15:40:19.745Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"6afdb8113cb007f9332f59a9b7fd45731b8a9de5","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"16bd798cb6d8337d7c3eea1adc412f31b5181d5b","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"301a554e458e2f5ec47f2c336a7cb03b877f9fd6","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"f8a5a76b4a683043c6eff2a060bcaa17f9316ad5","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"2638e1773904d7aa8f24c6e7fda2ed7d69df6fa4","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"5db89c99566fc4728cc92e941d8e1975711e24b5","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ifb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.142","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.92","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ifb.c"]}],"references":["https://git.kernel.org/stable/c/6afdb8113cb007f9332f59a9b7fd45731b8a9de5","https://git.kernel.org/stable/c/16bd798cb6d8337d7c3eea1adc412f31b5181d5b","https://git.kernel.org/stable/c/301a554e458e2f5ec47f2c336a7cb03b877f9fd6","https://git.kernel.org/stable/c/f8a5a76b4a683043c6eff2a060bcaa17f9316ad5","https://git.kernel.org/stable/c/2638e1773904d7aa8f24c6e7fda2ed7d69df6fa4","https://git.kernel.org/stable/c/5db89c99566fc4728cc92e941d8e1975711e24b5"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64121.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64121","state":"PUBLISHED","datePublished":"2026-07-19T15:40:19.745Z","dateUpdated":"2026-07-19T15:40:19.745Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.036Z"},"containers":{"cna":{"title":"net: ifb: report ethtool stats over num_tx_queues","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ifb: report ethtool stats over num_tx_queues\n\nifb_dev_init() allocates dp->tx_private to dev->num_tx_queues\nentries via kzalloc_objs(*txp, dev->num_tx_queues). Both IFB\nper-queue RX and TX stats live in those entries: ifb_xmit() updates\ntxp->rx_stats using the skb queue mapping, ifb_ri_tasklet() updates\ntxp->tx_stats, and ifb_stats64() aggregates both over\ndev->num_tx_queues.\n\nThe ethtool stats callbacks instead size and walk the per-queue\nstats with dev->real_num_rx_queues and dev->real_num_tx_queues. With\nan asymmetric device where the RX queue count exceeds the TX queue\ncount, for example:\n\n    ip link add name ifb10 numtxqueues 1 numrxqueues 8 type ifb\n    ethtool -S ifb10\n\nifb_get_ethtool_stats() indexes past the tx_private allocation and\ncopies adjacent slab data through ETHTOOL_GSTATS.\n\nUse dev->num_tx_queues consistently for the stats strings, the\nstats count, and the stats data walks. This reports one RX stats\ngroup and one TX stats group for each backing ifb_q_private entry,\nwhich is the queue set IFB can actually populate.\n\nReproduced under UML+KASAN at v7.1-rc2:\n\n  BUG: KASAN: slab-out-of-bounds in ifb_fill_stats_data+0x3c/0xae\n  Read of size 8 at addr 0000000062dbd228 by task ethtool/36\n  ifb_fill_stats_data+0x3c/0xae\n  ifb_get_ethtool_stats+0xc0/0x129\n  __dev_ethtool+0x1ca5/0x363c\n  dev_ethtool+0x123/0x1b3\n  dev_ioctl+0x56c/0x744\n  sock_do_ioctl+0x15f/0x1b2\n  sock_ioctl+0x4d5/0x50a\n  sys_ioctl+0xd8b/0xde9\n\nWith the patch applied, the same UML+KASAN repro is silent and\nethtool -S ifb10 reports only the stats backed by the single\nallocated tx_private entry."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"6afdb8113cb007f9332f59a9b7fd45731b8a9de5","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"16bd798cb6d8337d7c3eea1adc412f31b5181d5b","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"301a554e458e2f5ec47f2c336a7cb03b877f9fd6","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"f8a5a76b4a683043c6eff2a060bcaa17f9316ad5","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"2638e1773904d7aa8f24c6e7fda2ed7d69df6fa4","versionType":"git"},{"version":"a21ee5b2fcb8d6d3973446c5039e966c4cfe40d1","status":"affected","lessThan":"5db89c99566fc4728cc92e941d8e1975711e24b5","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ifb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"6.1.175","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.142","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.92","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.34","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.11","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/ifb.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/6afdb8113cb007f9332f59a9b7fd45731b8a9de5"},{"url":"https://git.kernel.org/stable/c/16bd798cb6d8337d7c3eea1adc412f31b5181d5b"},{"url":"https://git.kernel.org/stable/c/301a554e458e2f5ec47f2c336a7cb03b877f9fd6"},{"url":"https://git.kernel.org/stable/c/f8a5a76b4a683043c6eff2a060bcaa17f9316ad5"},{"url":"https://git.kernel.org/stable/c/2638e1773904d7aa8f24c6e7fda2ed7d69df6fa4"},{"url":"https://git.kernel.org/stable/c/5db89c99566fc4728cc92e941d8e1975711e24b5"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-07-19T15:40:19.745Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.6.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.12.92"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.18.34"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"7.0.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}