Katalog CVE

CVE-2025-71221

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.10%

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

Streszczenie

W jądrze Linux wykryto błąd w sterowniku DMA MMP PDMA prowadzący do wyścigu danych. Funkcja mmp_pdma_residue() nie posiada odpowiedniego blokowania, co umożliwia dostęp do zwolnionej pamięci (use-after-free) podczas iteracji po liście deskryptorów.

Ocena ryzyka

Atakujący może wykorzystać tę podatność do zdalnego wykonania kodu w kontekście jądra lub wywołania odmowy usługi (DoS) poprzez uruchomienie wielu wątków dmatest na tym samym kanale DMA.

Rekomendacja

Należy niezwłocznie zaktualizować jądro Linux do wersji zawierającej poprawkę zabezpieczającą funkcję mmp_pdma_residue() poprzez dodanie blokady spinlock chan->desc_lock.

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: dmaengine: mmp_pdma: Fix race condition in mmp_pdma_residue() Add proper locking in mmp_pdma_residue() to prevent use-after-free when accessing descriptor list and descriptor contents. The race occurs when multiple threads call tx_status() while the tasklet on another CPU is freeing completed descriptors: CPU 0 CPU 1 ----- ----- mmp_pdma_tx_status() mmp_pdma_residue() -> NO LOCK held list_for_each_entry(sw, ..) DMA interrupt dma_do_tasklet() -> spin_lock(&desc_lock) list_move(sw->node, ...) spin_unlock(&desc_lock) | dma_pool_free(sw) <- FREED! -> access sw->desc <- UAF! This issue can be reproduced when running dmatest on the same channel with multiple threads (threads_per_chan > 1). Fix by protecting the chain_running list iteration and descriptor access with the chan->desc_lock spinlock.

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