Katalog CVE

CVE-2026-89516

Niskie ryzyko· EPSS 9%
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.20%

Percentyl 9 - wyżej niż 9% wszystkich znanych CVE

Streszczenie

W jądrze Linux w schedulerze sched_ext funkcja scx_bpf_dsq_reenq() kolejkuje odroczone ponowne wstawienie (dru), które uruchamia się z run_deferred(), a nie ops.dispatch(). Jeśli DSQ zostanie zniszczone przed uruchomieniem dru, process_deferred_reenq_users() widzi dsq->id == SCX_DSQ_INVALID i trafia na BUG_ON. destroy_dsq() nie opróżnia oczekujących drus, więc wystarczy pominąć.

Ocena ryzyka

Może wystąpić awaria jądra (BUG_ON), prowadząca do odmowy usługi lub zatrzymania systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę pomijającą nieprawidłowe DSQ w process_deferred_reenq_users() oraz odczytującą dsq->id raz przez READ_ONCE(). Do czasu aktualizacji unikaj konfiguracji wykorzystujących sched_ext z odroczonymi ponownymi wstawieniami DSQ.

Inne podatności w Linux kernel (sched_ext)

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

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Don't BUG_ON a destroyed DSQ in process_deferred_reenq_users scx_bpf_dsq_reenq() queues a deferred reenq (dru) that runs from run_deferred(), not ops.dispatch(). If the DSQ is destroyed before the dru runs, process_deferred_reenq_users() sees dsq->id == SCX_DSQ_INVALID and hits the BUG_ON. destroy_dsq() doesn't flush pending drus, so just skip. tj: Read dsq->id once with READ_ONCE(). Reading it separately in the INVALID check and the BUG_ON would leave a window where destroy_dsq() can invalidate the id between the two reads and still trigger the BUG_ON.

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