CVE-2026-31423
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
W jądrze Linux w schedulerze sieciowym HFSC (sch_hfsc) wykryto podatność na dzielenie przez zero w funkcji rtsc_min(). Problem występuje, gdy różnica dwóch 64-bitowych wartości skalowanych przekracza 2^32 i jest przechowywana w 32-bitowej zmiennej, co prowadzi do jej obcięcia do zera i błędu dzielenia.
Ocena ryzyka
Atakujący może celowo wysłać ruch sieciowy z odpowiednimi parametrami (np. m1=4000000000), powodując awarię jądra (oops) i potencjalnie przerwanie działania systemu (DoS).
Rekomendacja
Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę rozszerzającą zmienną dsm do typu u64 i używającą div64_u64().
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_hfsc: fix divide-by-zero in rtsc_min() m2sm() converts a u32 slope to a u64 scaled value. For large inputs (e.g. m1=4000000000), the result can reach 2^32. rtsc_min() stores the difference of two such u64 values in a u32 variable `dsm` and uses it as a divisor. When the difference is exactly 2^32 the truncation yields zero, causing a divide-by-zero oops in the concave-curve intersection path: Oops: divide error: 0000 RIP: 0010:rtsc_min (net/sched/sch_hfsc.c:601) Call Trace: init_ed (net/sched/sch_hfsc.c:629) hfsc_enqueue (net/sched/sch_hfsc.c:1569) [...] Widen `dsm` to u64 and replace do_div() with div64_u64() so the full difference is preserved.

