Katalog CVE

CVE-2026-98002

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

Streszczenie

W jądrze Linux w sterowniku iommu/amd funkcja amd_iommu_pdom_id_alloc() zwraca int (ID domeny lub ujemny errno), ale amd_iommu_alloc_domain_nested() przypisuje wynik do pola u32 gdom_info->hdom_id, tracąc znak. W efekcie -ENOSPC staje się 0xffffffe4 i test "<= 0" nigdy nie zadziała, więc domena zagnieżdżona jest tworzona z nieprzydzielonym ID. Poprawka przechowuje wartość w int, testuje ją i zapisuje dopiero po walidacji.

Ocena ryzyka

Nieudana alokacja ID domeny nie jest wykrywana, co prowadzi do użycia nieprzydzielonego identyfikatora i potencjalnego uszkodzenia stanu IOMMU. Może to skutkować błędną translacją adresów lub niestabilnością systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Na systemach AMD z IOMMU i zagnieżdżoną wirtualizacją zaleca się priorytetowe wdrożenie aktualizacji.

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: iommu/amd: Fix ineffective error check in nested domain allocation amd_iommu_pdom_id_alloc() returns an int: a domain ID on success, or the negative errno from ida_alloc_range() when the ID space is exhausted or memory is short. amd_iommu_alloc_domain_nested() stores that return value in gdom_info->hdom_id, which is a u32, and only then tests it: gdom_info->hdom_id = amd_iommu_pdom_id_alloc(); if (gdom_info->hdom_id <= 0) { The assignment discards the sign, so -ENOSPC becomes 0xffffffe4 and the test never fires. The nested domain is then set up with a host domain ID that was never allocated, instead of the allocation failing with -ENOSPC. Keep the value in an int, test it there, and store it only once it is known to be valid, which is what the other amd_iommu_pdom_id_alloc() callers already do.

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