CVE-2026-53162
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 — wyżej niż 3% wszystkich znanych CVE
Streszczenie
W jądrze Linux wykryto podatność w mechanizmie memcg, gdzie funkcja get_random_u32_below() używana do wyboru ofiary w refill_stock nie jest bezpieczna w kontekście NMI. Może to prowadzić do uszkodzenia stanu ChaCha batch, gdy NMI przerwie aktualizację stanu losowego. Poprawka zastępuje losowy wybór okrężnym licznikiem per-CPU.
Ocena ryzyka
Ryzyko polega na potencjalnym uszkodzeniu stanu podsystemu losowego w przypadku przerwania NMI, co może prowadzić do nieprzewidywalnego zachowania jądra, w tym awarii lub naruszenia integralności danych.
Rekomendacja
Zaleca się natychmiastową aktualizację jądra Linux do wersji zawierającej poprawkę (commit z rozwiązaniem problemu). Monitoruj dystrybucje pod kątem wydania łatki.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: memcg: use round-robin victim selection in refill_stock Harry Yoo reported that get_random_u32_below() is not safe to call in the nmi context and memcg charge draining can happen in nmi context. More specifically get_random_u32_below() is neither reentrant- nor NMI-safe: it acquires a per-cpu local_lock via local_lock_irqsave() on the batched_entropy_u32 state. An NMI that lands on a CPU mid-update of the ChaCha batch state and recurses into the random subsystem would corrupt that state. The memcg_stock local_trylock prevents re-entry on the percpu stock itself, but cannot protect an unrelated subsystem's per-cpu lock. Replace the random pick with a per-cpu round-robin counter stored in memcg_stock_pcp and serialized by the same local_trylock that already guards cached[] and nr_pages[]. No atomics, no random calls, no extra locks needed.

