CVE-2026-53247
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 39 — wyżej niż 39% wszystkich znanych CVE
Streszczenie
W jądrze Linux w sterowniku mtk_eth_soc wykryto podatność use-after-free. Funkcja mtk_free_dev() wywołuje metadata_dst_free(), która natychmiast zwalnia pamięć metadata_dst, pomijając okres ochronny RCU. W ścieżce odbioru pakietów skb_dst_set_noref() ustawia wskaźnik bez zliczania referencji, co może prowadzić do użycia już zwolnionej pamięci, jeśli sterownik zostanie wyłączony, a pakiety wciąż odnoszą się do tego obiektu.
Ocena ryzyka
Ryzyko polega na możliwości wystąpienia błędu use-after-free, który może prowadzić do awarii systemu, wycieku danych lub potencjalnego wykonania dowolnego kodu przez atakującego w kontekście jądra.
Rekomendacja
Zaleca się natychmiastową aktualizację jądra Linux do wersji zawierającej poprawkę, która zastępuje metadata_dst_free() funkcją dst_release(), zapewniającą bezpieczne zwalnianie pamięci z uwzględnieniem okresu ochronnego RCU.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: net: ethernet: mtk_eth_soc: Fix use-after-free in metadata dst teardown mtk_free_dev() calls metadata_dst_free() which frees the metadata_dst with kfree() immediately, bypassing the RCU grace period. In the RX path, skb_dst_set_noref() sets a non-refcounted pointer from the skb to the metadata_dst. This function requires RCU read-side protection and the dst must remain valid until all RCU readers complete. Since metadata_dst_free() calls kfree() directly, a use-after-free can occur if any skb still holds a noref pointer to the dst when the driver tears it down. Replace metadata_dst_free() with dst_release() which properly goes through the refcount path: when the refcount drops to zero, it schedules the actual free via call_rcu_hurry(), ensuring all RCU readers have completed before the memory is freed.

