CVE-2026-89807
NieznaneStreszczenie
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.
Ocena ryzyka
Lokalny użytkownik z uprawnieniem CAP_CHECKPOINT_RESTORE może wywołać panikę jądra (odmowa usługi) na systemach z GPU AMD. Wymaga jednak specjalnych uprawnień, co ogranicza wektor ataku.
Rekomendacja
Zaktualizuj jądro Linux do wersji z poprawką. Ogranicz przyznawanie CAP_CHECKPOINT_RESTORE do zaufanych procesów.
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-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-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: guard against NULL restore_mqd in CRIU queue restore Both create_queue_cpsch() and create_queue_nocpsch() unconditionally call mqd_mgr->restore_mqd() when a CRIU restore is in progress (qd != NULL), with no NULL guard. On any system where restore_mqd is not implemented for the given queue type, a user holding CAP_CHECKPOINT_RESTORE can trigger a kernel NULL pointer dereference and panic the machine by issuing KFD_IOC_CRIU_OP_RESTORE with a crafted queue restore object. Note that checkpoint_mqd is likewise unimplemented on GFX12, so no legitimate CRIU image can reach this path — only a hand-crafted restore payload. Add a NULL guard for restore_mqd immediately after mqd_mgr is resolved, unwinding via the existing error labels and returning -EOPNOTSUPP if the callback is not implemented. This mirrors the existing checkpoint_mqd guard in checkpoint_mqd().

