Katalog CVE

CVE-2026-80606

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.14%

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

Streszczenie

W jądrze Linux wykryto podatność w sterowniku DRM dla GPU Intel (xe). Przy włączonej opcji testowej CONFIG_DRM_XE_USERPTR_INVAL_INJECT=y, funkcja xe_pt_svm_userptr_pre_commit() wywołuje vma_check_userptr() z notifier_lock trzymanym w trybie tylko do odczytu, podczas gdy ścieżka testowa wymaga trybu zapisu. Prowadzi to do wyzwolenia asercji i ostrzeżenia WARNING w drm_gpusvm_unmap_pages(), co może destabilizować system.

Ocena ryzyka

Podatność może powodować awarie systemu (kernel warning, potencjalny panic) podczas operacji bindowania VM w środowiskach z włączoną opcją testową. Dla standardowych buildów (bez opcji INJECT) ryzyko jest minimalne, ale w środowiskach deweloperskich/testowych może prowadzić do przerwania działania.

Rekomendacja

Zaleca się aktualizację jądra Linux do wersji zawierającej poprawkę (commit 80ccbd97ffee8ad2e73167d826fe7be548364365). Jeśli nie jest to możliwe, należy wyłączyć opcję CONFIG_DRM_XE_USERPTR_INVAL_INJECT w konfiguracji jądra.

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: drm/xe/userptr: Hold notifier_lock for write on inject test path When CONFIG_DRM_XE_USERPTR_INVAL_INJECT=y, xe_pt_svm_userptr_pre_commit() runs vma_check_userptr() with the svm notifier_lock taken for read. The test injection causes vma_check_userptr() to call xe_vma_userptr_force_invalidate(), which feeds into xe_vma_userptr_do_inval() with drm_gpusvm_ctx.in_notifier=true. That flag tells drm_gpusvm_unmap_pages() the caller already holds notifier_lock for write and only asserts the mode. Because the caller actually holds it for read, the assertion fires: WARNING: drivers/gpu/drm/drm_gpusvm.c:1669 at \ drm_gpusvm_unmap_pages+0xd4/0x130 [drm_gpusvm_helper] Call Trace: xe_vma_userptr_do_inval+0x40d/0xfd0 [xe] xe_vma_userptr_invalidate_pass1+0x3e6/0x8d0 [xe] xe_vma_userptr_force_invalidate+0xde/0x290 [xe] vma_check_userptr.constprop.0+0x1c6/0x220 [xe] xe_pt_svm_userptr_pre_commit+0x6a3/0xc60 [xe] ... xe_vm_bind_ioctl+0x3a0a/0x4480 [xe] Acquire notifier_lock for write in pre-commit when the inject Kconfig is enabled, via new helpers xe_pt_svm_userptr_notifier_lock()/_unlock(). Rename xe_svm_assert_held_read() to xe_svm_assert_held_read_or_inject_write() so it asserts the correct mode under each build configuration. Production builds (CONFIG_DRM_XE_USERPTR_INVAL_INJECT=n) keep the existing read-mode behavior bit-for-bit. (cherry picked from commit 80ccbd97ffee8ad2e73167d826fe7be548364365)

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