Katalog CVE

CVE-2026-97988

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w podsystemie vhost występuje problem z unieważnianiem dostępu do vringów przy zmianach IOTLB. Gdy zmienia się flaga VIRTIO_F_ACCESS_PLATFORM, buforowane wskaźniki vringów i metadane IOTLB są interpretowane w innej przestrzeni adresowej, co może prowadzić do używania nieaktualnych mapowań. Wprowadzono wspólny helper vhost_clear_device_iotlb(), który serializuje przejście z workerami i zapobiega mieszaniu przestrzeni adresowych.

Ocena ryzyka

Nieaktualne mapowania vringów mogą powodować błędy pamięci, uszkodzenie danych lub eskalację uprawnień w środowiskach zwirtualizowanych. Organizacje korzystające z vhost-net lub vhost-vsock są narażone na niestabilność i potencjalne luki bezpieczeństwa.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Po aktualizacji upewnij się, że przestrzeń użytkownika konfiguruje adresy vringów dla nowego trybu adresowania po wyczyszczeniu ACCESS_PLATFORM.

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: vhost: invalidate vring access on IOTLB transitions When VIRTIO_F_ACCESS_PLATFORM changes, cached vring pointers and IOTLB metadata are interpreted in a different address space. Keeping them across the transition can leave stale ring mappings in use. Clearing d->iotlb before taking the VQ locks also lets a worker observe a transient NULL d->iotlb and fall back to d->umem while translating a descriptor. Add a common vhost_clear_device_iotlb() helper for vhost-net and vhost-vsock. Take all VQ mutexes in index order before dropping the device-wide IOTLB, invalidate each VQ's cached ring access and metadata, clear pending IOTLB messages, and free the old table after the handoff. This serializes the transition with workers and prevents mixed address space mappings. On the first direct-to-IOTLB transition, invalidate the cached vring addresses. When an existing device IOTLB is replaced, preserve the GIOVA ring addresses and reset only the metadata cache. After clearing ACCESS_PLATFORM, userspace must configure the vring addresses for the new address mode. vhost_vq_invalidate_access() clears desc, avail, and used together. Treat the VQ as invalidated only when all three are NULL, since a single GIOVA address may legitimately be zero.

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