CVE-2026-46317
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
W jądrze Linuxa w KVM dla architektury ARM64 wykryto podatność polegającą na ponownym przydzielaniu tablicy nested_mmus bez odpowiedniego blokowania. Tablica ta jest odczytywana pod ochroną blokady mmu_lock, ale jej realokacja i zwolnienie starego bufora odbywały się przy użyciu jedynie config_lock, co może prowadzić do użycia po zwolnieniu (use-after-free).
Ocena ryzyka
Atakujący może wykorzystać tę podatność do uzyskania dostępu do już zwolnionej pamięci jądra, co może skutkować awarią systemu, wyciekiem informacji lub potencjalnie eskalacją uprawnień.
Rekomendacja
Należy niezwłocznie zaktualizować jądro Linuxa do wersji zawierającej poprawkę, która zapewnia prawidłową synchronizację przy realokacji tablicy nested_mmus pod ochroną mmu_lock.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Reassign nested_mmus array behind mmu_lock kvm->arch.nested_mmus[] is walked under kvm->mmu_lock, including from the MMU notifier path (kvm_unmap_gfn_range() -> kvm_nested_s2_unmap()), which can run at any time. kvm_vcpu_init_nested() reallocates the array and frees the old buffer while holding only kvm->arch.config_lock, so such a walker can reference the freed array. Allocate the new array outside of mmu_lock, as the allocation can sleep. Under the lock, copy the existing entries, fix up the back pointers and reassign the array. Free the old buffer after dropping the lock, as kvfree() can sleep as well.

