Odebrany

CVE-2026-90058

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/sched: powiązany qdisc_pkt_len, aby zapobiec miękkiemu blokowaniu qdisc

qdisc_get_stab() akceptuje tabelę rozmiarów dostarczoną przez użytkownika i
__qdisc_calculate_pkt_len() wzmacnia qdisc_pkt_len() poprzez
narzut, dane tabeli rozmiarów (u16) i size_log (do
STAB_SIZE_LOG_MAX). Dlatego spreparowane pchnięcie może ustawić qdisc_pkt_len()
do ~1 GiB dla zwykłego skb. Programy planujące deficyt na przepływ, takie jak
DRR i ETS uzupełniają jeden kwant na iterację pętli; z malutkim
kwantowe (1) wirują miliardy razy pod blokadą qdisc,
produkcja miękkiej blokady / kabiny RCU, jak zilustrowano pod adresem [email protected].

Ogranicz końcową funkcję qdisc_pkt_len() do QDISC_PKT_LEN_MAX, aby tabela rozmiarów
amplifikacja nie może wprowadzić programów planujących deficyt w nieograniczoną pętlę.
Prawidłowa tabela rozmiarów (np. obciążenie qfq 999999999, czyli
obsługiwane przez upuszczenie) jest nadal akceptowane.

Wprowadź ograniczenie QDISC_PKT_LEN_MAX (1 << 20) = 1 MiB, czyli znacznie powyżej
dowolna dopuszczalna długość przewodu pojedynczego skb: największy prąd skb->len
to GSO_MAX_SIZE (524280) i tabela rozmiarów w stylu bankomatu (podatek komórkowy 53/48)
wzmacnia to do ~ 578 KB, oba wygodnie poniżej 1 MiB. Jednocześnie
czas, 1 MiB ogranicza pętlę uzupełniania deficytu do ~1M iteracji na
pakiet z kwantem = 1, który kończy się w ciągu kilku milisekund
poniżej zademonstrowanego progu softlockup (~10^9 iteracji).

Warunki odtworzenia błędu:
- CONFIG_NET_SCHED=y, CONFIG_NET_SCH_DRR=y (lub CONFIG_NET_SCH_ETS=y).
- Dołącz dysk główny DRR (lub ETS) ze spreparowanym TCA_STAB
wzmacnia qdisc_pkt_len do ~1 GiB (np. size_log=15, data=[32768]).
- Dodaj klasę z małym kwantem 1 i wyślij jeden mały pakiet; the
Pętla deficytu obraca się miliardy razy pod blokadą qdisc i wyłącza się
detektor softlockup (panika z kernel.softlockup_panic=1).
- Dostępny jako root lub od nieuprzywilejowanego użytkownika w nowej sieci użytkownika+
przestrzeni nazw (unshare -Urn) z lokalną przestrzenią nazw CAP_NET_ADMIN.

>_ 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