-

CVE-2026-98567

net: xps: reject an out of range traffic class

In the Linux kernel, the following vulnerability has been resolved:

net: xps: reject an out of range traffic class

Only the entries below dev->num_tc are valid in dev->tc_to_txq[], and
dev->prio_tc_map[] may only name classes below it. netdev_set_num_tc()
lowers dev->num_tc without touching either array.

netdev_txq_to_tc() walks all TC_MAX_QUEUE slots and
netdev_get_prio_tc_map() returns the entry as it stands, so a leftover
entry is handed out as a traffic class >= dev->num_tc. Taking that
class from netdev_txq_to_tc(), __netif_set_xps_queue() rejects only a
negative one and indexes an XPS map sized for dev->num_tc classes:

	tci = j * num_tc + tc;
	RCU_INIT_POINTER(new_dev_maps->attr_map[tci], map);

attr_map[] holds nr_ids * num_tc entries and j runs over the ids named
in the mask, so a class that is not below num_tc pushes tci past the end
of the map for the last ids and the store overruns it.

Any caller that lowers num_tc leaves such entries behind, and
mqprio_destroy() tears down with netdev_set_num_tc(dev, 0) rather than
netdev_reset_tc(). After mqprio with 8 classes then 1, tc_to_txq[1..7]
still describe txq 1..7. The splat is from an XPS write to txq 2 on a
veth with 8 rx queues: attr_map[] has 8 * 1 entries, tci = j + 2, and
j == 6 stores one past the end of the 88-byte map:

  BUG: KASAN: slab-out-of-bounds in __netif_set_xps_queue (net/core/dev.c:2954)
  Write of size 8 at addr ffff88813016bc58 by task xps_oob/634
   __netif_set_xps_queue (net/core/dev.c:2954)
   xps_rxqs_store (net/core/net-sysfs.c:1880)
   netdev_queue_attr_store (net/core/net-sysfs.c:1390)
  Allocated by task 634:
   __kmalloc_noprof (mm/slub.c:5439)
   __netif_set_xps_queue (net/core/dev.c:2937)
  The buggy address is located 0 bytes to the right of
   allocated 88-byte region [ffff88813016bc00, ffff88813016bc58)

Reject a class the map has no room for.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 967e10f40a0c6732db299cbe001df0e859196055
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 1cb8e40525a72c9f1e1cf94c68c172b3b9bbdc81
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 6ea8f643053f33622f9116e4e1db58306ece45e3
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 9e841723ba482d41ecbf90241c756a16cdfea949
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < eff227a3cb4d0089fbb85c73480bf8abf2e5ae7f
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 2cc1c3977acbffc417fb5b57699d1df3dcffb5fd
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 930318290d8509e864c015fe6c9239470b3c579c
Status affected
Version 184c449f91fef521042970cca46bd5cdfc0e3a37
Version < 4da3b7b8b50f3e2fde54a4c18a82a8e3f6223910
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 4.10
Status affected
Version 0
Version < 4.10
Status unaffected
Version <= 5.10.*
Version 5.10.271
Status unaffected
Version <= 5.15.*
Version 5.15.222
Status unaffected
Version <= 6.1.*
Version 6.1.189
Status unaffected
Version <= 6.6.*
Version 6.6.158
Status unaffected
Version <= 6.12.*
Version 6.12.112
Status unaffected
Version <= 6.18.*
Version 6.18.55
Status unaffected
Version <= 7.2.*
Version 7.2.9
Status unaffected
Version <= *
Version 7.3
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.21% 0.106
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/967e10f40a0c6732db299cbe001df0e859196055
https://git.kernel.org/stable/c/1cb8e40525a72c9f1e1cf94c68c172b3b9bbdc81
https://git.kernel.org/stable/c/6ea8f643053f33622f9116e4e1db58306ece45e3
https://git.kernel.org/stable/c/9e841723ba482d41ecbf90241c756a16cdfea949
https://git.kernel.org/stable/c/eff227a3cb4d0089fbb85c73480bf8abf2e5ae7f
https://git.kernel.org/stable/c/2cc1c3977acbffc417fb5b57699d1df3dcffb5fd
https://git.kernel.org/stable/c/930318290d8509e864c015fe6c9239470b3c579c
https://git.kernel.org/stable/c/4da3b7b8b50f3e2fde54a4c18a82a8e3f6223910