CVE-2026-89808
WysokieCVSS 7.8Streszczenie
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.
Ocena ryzyka
Błąd może prowadzić do nieprawidłowego zwolnienia pamięci VRAM i niestabilności systemu, w tym potencjalnych awarii lub uszkodzenia danych na GPU. Dotyczy systemów z kartami AMD korzystających z KFD.
Rekomendacja
Zaktualizuj jądro Linux do wersji z poprawką w drm/amdkfd. Monitoruj logi jądra pod kątem błędów migracji pamięci GPU.
Inne podatności w Linux kernel (drm/amdkfd)
Zobacz wszystkie- CVE-2026-89810Wysokie
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.
- 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 the case that vm range is hole at svm_migrate_copy_to_vram When migration vm range is hole at cpu side(MIGRATE_PFN_MIGRATE set + MIGRATE_PFN_VALID unset) driver still allocates device pages. There is no dma map of src pages and migration. j is 0 and svm_migrate_copy_memory_gart() will return an uninitialized r. That can trigger out_free_vram_pages to drop all VRAM just set up. Initialize r and only call the last svm_migrate_copy_memory_gart if j > 0. Current code postponed the last page to the final copy. This patch flushes on the last page when reach to the end of current drm_buddy_block; avoids another svm_migrate_copy_memory_gart.

