CVE-2026-98467 in Linuxالمعلومات

الملخص

بحسب VulDB • 19/10/2026

في نواة لينكس، تم حل الثغرة التالية:

KVM: arm64: nv: إصلاح تجاوز المؤشر الفارغ (null ptr deref) عند حدوث تسابق في عمليات wp/unmap المتداخلة وإعدادات الإزالة (teardown race).

أدى الالتزام 7270cc9157f4 ("KVM: arm64: nv: معالجة إبطال VNCR_EL2 من مُنشطات MMU") إلى إدخال عملية إبطال VNCR_EL2 في كلٍ من `kvm_nested_s2_unmap()` و`kvm_nested_s2_wp()`.

ومع ذلك، عند تنفيذ هذه العملية، يمكن أن يؤدي الإزالة المتزامنة (concurrent teardown) للمرحلة الثانية لضيف متداخل إلى تعيين قيمة `NULL` للمتغير `kvm->arch.mmu.pgt`.

يحدث هذا في المسار: `kvm_flush_shadow_all()` -> `kvm_arch_flush_shadow_all()` -> `kvm_free_stage2_pgd()`, ويتم تنفيذه تحت قفل `kvm->mmu_lock`.

أدى الالتزام ec14c272408a ("KVM: arm64: nv: Unmap/flush shadow stage 2 page tables") إلى إعدادات الإزالة (teardown) لمدى MMU المتداخل بأكمله، مما يستدعي استدعاء `stage2_apply_range()` مع المعامل `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() -> stage2_apply_range() ```

هذا يعني أن `stage2_apply_range()` يمكنها إفلات قفل `kvm->mmu_lock`، وبالتالي يمكن إحراز تقدم متزامن بالتوازي مع `kvm_arch_flush_shadow_all()`.

إذا سار `kvm_arch_flush_shadow_all()` إلى الأمام مقارنة بـ `stage2_apply_range()` وأكمل عملية الإزالة الخاصة به، فإنه يضمن حدوث تجاوز لمؤشر فارغ (NULL pointer deref).

بما أن `kvm_free_stage2_pgd()` يتم تنفيذه تحت قفل `kvm->mmu_lock`، فسيتم إما ملاحظة أنه NULL أو لا، وسيكون معزولاً (serialised) ضد `kvm_free_stage2_pgd()`.

لحل هذه المشكلة، تم تجريد عملية الإبطال إلى دالة جديدة وهي `kvm_invalidate_vncr_ipa_all()`، والتحقق من أن المتغير `pgt` ليس بقيمة NULL قبل الوصول إليه.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

25/09/2026

إفشاء

18/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-422119

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!