CVE-2026-89810
WysokieCVSS 7.8Streszczenie
W jądrze Linux w sterowniku drm/amdkfd naprawiono błąd ścieżki obsługi błędów w funkcji svm_migrate_copy_to_ram. Gdy migracja strony z urządzenia do pamięci systemowej się nie powiedzie, sterownik używał adresu DMA zamiast adresu fizycznego strony (pfn) do zwolnienia i odblokowania stron, co jest niepoprawne przy włączonym IOMMU. Poprawka zwalnia strony na podstawie struct page* i wykonuje dma_unmap dla odpowiednich stron.
Ocena ryzyka
Niepoprawne zwalnianie stron przy błędzie migracji może prowadzić do wycieków pamięci lub uszkodzenia stanu mapowań DMA/IOMMU, co potencjalnie skutkuje niestabilnością systemu. Problem dotyczy systemów z kartami AMD i włączonym IOMMU.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej tę poprawkę (commit w gałęzi drm/amdkfd). Jeśli aktualizacja nie jest możliwa, ogranicz dostęp do urządzeń GPU dla niezaufanych użytkowników.
Inne podatności w Linux kernel (drm/amdkfd)
Zobacz wszystkie- CVE-2026-89808Wysokie
W jądrze Linux w sterowniku drm/amdkfd naprawiono przypadek, gdy zakres pamięci VM jest dziurą po stronie CPU podczas svm_migrate_copy_to_vram. Sterownik mimo to alokował strony urządzenia, a nie zainicjalizowana zmienna r mogła spowodować zwolnienie całego świeżo ustawionego VRAM. Poprawka inicjalizuje r i wywołuje ostatnią migrację tylko gdy j > 0.
- CVE-2026-89807Nieznane
W jądrze Linux w sterowniku drm/amdkfd brakowało zabezpieczenia przed NULL dla restore_mqd podczas przywracania kolejki CRIU. Użytkownik z uprawnieniem CAP_CHECKPOINT_RESTORE mógł wywołać KFD_IOC_CRIU_OP_RESTORE ze spreparowanym obiektem, powodując dereferencję NULL i panikę jądra. Poprawka dodaje sprawdzenie NULL i zwraca -EOPNOTSUPP.
- CVE-2026-45878Wysokie
W jądrze systemu Linux zidentyfikowano podatność związaną z niewłaściwym sprawdzaniem granic watch_id w debugowaniu adresów. Przekazanie dużego watch_id z przestrzeni użytkownika może prowadzić do błędów przepełnienia bufora i nieprawidłowego dostępu do pamięci.
- CVE-2024-49991Wysokie
W jądrze Linuxa zidentyfikowano podatność, która została naprawiona w module drm/amdkfd. Problem polegał na niewłaściwym czyszczeniu wskaźnika, co mogło prowadzić do błędu use-after-free.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Fix error path at svm_migrate_copy_to_ram If page migration from device to sys ram fails for some reasons driver needs release and unlock allocated system pages. To do that driver should use page physical address, or pfn, then get struct page*. Current driver uses dma address(for adev) that is not correct with IOMMU enabled, or even in general. The patch releases and unlocks allocated system pages based on where migration failed by struct page* of sys ram pages. Also dma_unmap correspodent system ram pages at error path.

