CVE-2026-90053
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
net/sched: sch_htb: limit htb_classify przeskoków filtrów klasy wewnętrznej
htb_classify() podąża za każdą klasą wewnętrzną wybraną przez filtr, przełączając
do cl->filter_list, ale nigdy nie ogranicza liczby przeskoków. Włączony filtr
klasa wewnętrzna może wskazywać na siebie lub na inną klasę wewnętrzną
wskazuje wstecz, tworząc nieskończoną pętlę w klasyfikacji pakietów
path z przytrzymaną blokadą qdisc i wyłączonym BH — miękkie zawieszenie/panika
z jednego pakietu.
Powiąż przejście za pomocą licznika przeskoków i upuść pakiet za pomocą a
ostrzeżenie o ograniczonej szybkości w przypadku przekroczenia limitu. Licznik jest
zwiększany w momencie podnoszenia wewnętrznego łańcucha filtra, po
Przełącznik TC_ACT_* zużył werdykt klasyfikatora, więc terminal
TC_ACT_QUEUED/STOLEN/TRAP w ostatnim dozwolonym łańcuchu nadal ustawia *qerr
do __NET_XMIT_STOLEN i pakiet nie jest przez to naliczany jako kropla
qdisc lub jego rodzic.
Ograniczeniem jest TC_HTB_MAXDEPTH, wzięty z własnych parametrów HTB, a nie
od limitu głębokości hierarchii qdisc. Poziomy klas wahają się od 0 do
TC_HTB_MAXDEPTH - 1, więc przejście ściśle schodzące w dół może
wykonaj co najwyżej przeskoki TC_HTB_MAXDEPTH. To zejście jest rozsądne
konfiguracja tak, ale jest to tutaj zakładane, a nie wymuszane:
htb_find() rozwiązuje klasę dla każdej klasy w kolejce kolejkowej, więc a
filtr może w równym stopniu wybrać rodzeństwo lub przodka. Normalne
root -> wewnętrzna -> ścieżka liścia wymaga jednego przeskoku, więc powiązanie nie
mieć wpływ na legalną klasyfikację.
htb_classify() może teraz zwracać NULL niezależnie od CONFIG_NET_CLS_ACT,
podczas gdy poprzednio każdy zwrot NULL znajdował się w tym ifdef. Wartość NULL
dlatego też procedura obsługi w htb_enqueue() również nie może pozostać warunkowa, więc
upuść ifdef wokół niego. To pasuje do hfsc_enqueue(), co zawsze miało miejsce
bezwarunkowo obsłużył klasę NULL. Bez tego jądro zostanie zbudowane
bez akcji wyłuskałoby klasę NULL zamiast upuszczać.
Warunki odtworzenia błędu:
- CONFIG_NET_SCHED, CONFIG_NET_SCH_HTB, CONFIG_NET_CLS_U32,
CONFIG_LOCKUP_DETECTOR.
- Utwórz kolejkę HTB na urządzeniu (np. lo), dodaj klasę wewnętrzną
1:1 z dzieckiem liścia 1:10, zainstaluj wybór filtra root u32
1:1 i filtr klasy wewnętrznej u32 na 1:1, również wybierający 1:1.
- Wyślij jeden pakiet (ping). W nienaprawionym jądrze pętla klasyfikacji
obraca się z przytrzymaną blokadą qdisc; z softlockup_panic=1 wpada w panikę.
- Dostępny dla nieuprzywilejowanego użytkownika poprzez unshare -Urn (CAP_NET_ADMIN).
>_ Referencje
- https://git.kernel.org/stable/c/010d05df52cec053bdc67d82c5b61cc4996f3fde
- https://git.kernel.org/stable/c/729c4896ab829169f95915d65edd530325910b37
- https://git.kernel.org/stable/c/83bb11805b620c498d6417e0e409f26887981489
- https://git.kernel.org/stable/c/872317e84fd019ceffba125e62d31586e3336d41
- https://git.kernel.org/stable/c/8c9611f7ba3ea5594e41bac952363aa0966d3280
- https://git.kernel.org/stable/c/90a149ab1f8344b7f713e9a838f69fde9e8d2a51
- https://git.kernel.org/stable/c/e54be9aa503a0297b63aec530fbf760350effd45
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