Katalog CVE

CVE-2026-98012

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux funkcja sfq_change() akceptowała dowolną nieujemną wartość quantum (odrzucała tylko (int)ctl->quantum < 0). Przy spreparowanej tabeli rozmiarów qdisc_pkt_len osiągał ~2 GiB, więc quantum=1 powodowało, że pętla uzupełniania deficytu wykonywała się ~2^31 razy pod blokadą qdisc, co prowadziło do soft lockup i odmowy usługi.

Ocena ryzyka

Lokalny atakujący z uprawnieniami CAP_NET_ADMIN (możliwymi do uzyskania w przestrzeni nazw przez unshare -Urn) może wywołać zawieszenie systemu poprzez soft lockup, powodując odmowę usługi.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę ograniczającą quantum do max(256U, ...) i odrzucającą quantum > 1<<20 z -EINVAL w sfq_change(), zgodnie z fq_codel_change().

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: net/sched: sfq: clamp quantum in change path sfq_change() accepts any non-negative quantum (only rejects (int)ctl->quantum < 0). With a crafted size table qdisc_pkt_len reaches ~2 GiB, so quantum=1 makes the deficit-refill loop spin ~2^31 times under the qdisc lock (a soft lockup / denial of service). Add max(256U, ...) matching fq_codel_change(). Reject quantum > 1<<20 with -EINVAL, matching fq_codel_change() and the init clamp. Conditions to recreate the bug: CONFIG_NET_SCH_SFQ=y. Requires CAP_NET_ADMIN (namespace-local via unshare -Urn suffices). tc qdisc add dev dummy0 root sfq tc qdisc change dev dummy0 root sfq quantum 1 stab data 32768 size_log 15 cell_log 0

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS