CVE-2026-98467
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
KVM: arm64: nv: Napraw zerowe deref ptr na zagnieżdżonym wp/unmap, wyścig porzucania
Zatwierdź 7270cc9157f4 („KVM: arm64: nv: Obsługa unieważnienia VNCR_EL2 z MMU
powiadamiacze”) wprowadzono unieważnienie VNCR_EL2 w obu metodach kvm_nested_s2_unmap()
i kvm_nested_s2_wp().
Jednak w tym momencie wykonywany jest równoczesny etap 2 rozbiórki
zagnieżdżony gość może spowodować ustawienie kvm->arch.mmu.pgt na NULL.
Dzieje się tak w kvm_flush_shadow_all() -> kvm_arch_flush_shadow_all() ->
kvm_free_stage2_pgd() i jest wykonywana pod komendą kvm->mmu_lock.
Zatwierdź ec14c272408a („KVM: arm64: nv: Usuń mapowanie/opróżnij stronę cienia etapu 2
tabele”) wprowadził rozbiórkę całego zagnieżdżonego asortymentu MMU, co następnie
wywołuje stage2_apply_range() z resched=true:
mmu_notifier_invalidate_range_start()
-> ... -> kvm_mmu_notifier_invalidate_range_start()
-> kvm_mmu_unmap_gfn_range()
-> kvm_unmap_gfn_range()
-> kvm_nested_s2_unmap()
-> kvm_stage2_unmap_range()
-> __unmap_stage2_range()
-> etap2_zastosuj_zakres()
Oznacza to, że stage2_apply_range() może usunąć kvm->mmu_lock i w ten sposób
równoczesny postęp może być dokonywany krok po kroku
kvm_arch_flush_shadow_all().
Jeśli kvm_arch_flush_shadow_all() przejdzie przed stage2_apply_range() i
zakończy swoją operację, gwarantuje deref wskaźnika NULL.
Ponieważ kvm_free_stage2_pgd() jest wykonywana pod kvm->mmu_lock, będzie to
albo należy obserwować NULL, albo nie i serializować względem
kvm_free_stage2_pgd().
Rozwiąż problem, wyodrębniając unieważnienie do nowej funkcji,
kvm_invalidate_vncr_ipa_all() i sprawdź, czy pgt nie ma wcześniej wartości NULL
wyłudzanie tego.
>_ Referencje
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org