Odebrany

CVE-2026-98567

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

net: xps: odrzuć klasę ruchu poza zasięgiem

Tylko wpisy poniżej dev->num_tc są prawidłowe w dev->tc_to_txq[], oraz
dev->prio_tc_map[] może nazywać tylko klasy poniżej. netdev_set_num_tc()
obniża dev->num_tc bez dotykania żadnej tablicy.

netdev_txq_to_tc() przechodzi przez wszystkie sloty TC_MAX_QUEUE i
netdev_get_prio_tc_map() zwraca wpis w niezmienionej postaci, więc pozostałość
wpis jest podawany jako klasa ruchu >= dev->num_tc. Biorąc to
klasa z netdev_txq_to_tc(), __netif_set_xps_queue() odrzuca tylko
ujemna i indeksuje mapę XPS dostosowaną do klas dev->num_tc:

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

attr_map[] przechowuje wpisy nr_ids * num_tc, a j przebiega po nazwanych identyfikatorach
w masce, więc klasa nie mniejsza niż num_tc wypycha tci poza koniec
mapy dla ostatnich identyfikatorów i sklep je przepełnia.

Każdy obiekt wywołujący, który obniży wartość num_tc, pozostawia takie wpisy i
mqprio_destroy() kończy się za pomocą netdev_set_num_tc(dev, 0) zamiast
netdev_reset_tc(). Po mqprio z 8 klasami, a następnie 1, tc_to_txq[1..7]
nadal opisz txq 1..7. Ikona pochodzi z zapisu XPS do txq 2 na a
veth z 8 kolejkami rx: attr_map[] ma 8 * 1 wpisów, tci = j + 2 i
j == 6 przechowuje jeden poza końcem 88-bajtowej mapy:

BŁĄD: KASAN: płyta poza granicami w __netif_set_xps_queue (net/core/dev.c:2954)
Zapisz rozmiar 8 pod adresem ffff88813016bc58, wykonując zadanie 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)
Przydzielone przez zadanie 634:
__kmalloc_noprof (mm/slub.c:5439)
__netif_set_xps_queue (net/core/dev.c:2937)
Błędny adres znajduje się 0 bajtów na prawo od
przydzielony region 88-bajtowy [ffff88813016bc00, ffff88813016bc58)

Odrzuć klasę, dla której nie ma miejsca na mapie.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org