Katalog CVE

CVE-2026-90387

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

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

Streszczenie

W jądrze Linux w swiotlb funkcja swiotlb_alloc_tlb() może alokować z atomowej puli DMA, gdy wymagana jest odszyfrowana pula z kontekstu atomowego. Z CONFIG_DMA_DIRECT_REMAP pula atomowa używa przemapowanych adresów wirtualnych, które różnią się od adresów direct-map. swiotlb_init_io_tlb_pool() rekonstruuje adres wirtualny z adresu fizycznego, co dla alokacji z puli atomowej zapisuje błędny adres w pool->vaddr, powodując późniejszy błąd w swiotlb_free_tlb().

Ocena ryzyka

Może dojść do błędu przy zwalnianiu pamięci, prowadzącego do wycieku pamięci lub uszkodzenia jądra. Dotyczy systemów z CONFIG_DMA_DIRECT_REMAP i dynamicznymi pulami swiotlb.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką przekazującą adres wirtualny z alokacji do swiotlb_init_io_tlb_pool(). Monitoruj logi jądra pod kątem błędów swiotlb.

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: swiotlb: Preserve allocation virtual address for dynamic pools swiotlb_alloc_tlb() can allocate from the DMA atomic pool when a decrypted pool is needed from atomic context. With CONFIG_DMA_DIRECT_REMAP, the atomic pool is backed by remapped virtual addresses, which are not the same as the direct-map addresses returned by phys_to_virt(). swiotlb_init_io_tlb_pool() currently reconstructs the pool virtual address from the physical start address. For atomic-pool backed allocations this stores the wrong address in pool->vaddr. Later, swiotlb_free_tlb() passes that address to dma_free_from_pool(), which will fail to recognize the chunk Pass the virtual address returned by the allocation path into swiotlb_init_io_tlb_pool(), and store that address in pool->vaddr. This keeps the pool free path using the same virtual address as the allocator.

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