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

الملخص

بحسب VulDB • 23/10/2026

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

KVM: x86: استخدام ذاكرات الذاكرة النشطة (active memslots) في ذاكرة التخزين المؤقت لعمليات MMIO الخاصة بكل vCPU

تقوم KVM بوسم ذاكرة التخزين المؤقت لـ MMIO الخاصة بكل vCPU بإصدار خاص بـ memslot، بحيث يؤدي تحديث memslot إلى إبطال معلومات MMIO المخزنة. تستخدم كل من مسارات التعبئة (fill) والتحقق (validation) دالة `kvm_memslots()`، والتي تختار بشكل غير مشروط مساحة العنوان 0، حتى عندما يعمل الـ vCPU في وضع SMM وتستخدم مساحة العنوان 1.

أضاف الالتزام Commit 56f17dd3fbc4 ("kvm: x86: fix stale mmio cache bug") إصدار memslot إلى مفتاح التخزين المؤقت بحيث لا يمكن أن يترك تحديث memslot إدخالاً قديماً (stale) صالحاً للتعامل معه. وعندما أضاف الالتزام Commit 699023e23965 ("KVM: x86: add SMM to the MMU role, support SMRAM address space") مساحة عنوان SMM، لم يتم تحويل هذه الدوال المساعدة لاستخدام ذاكرات الذاكرة النشطة (active memslots).

وبالتالي، يمكن أن يؤدي تحديث ذاكرات السعة الخاصة بـ SMM إلى إبقاء إدخال من مساحة العنوان القديمة لـ SMM يبدو صالحاً بعد عودة الـ vCPU إلى مساحة العنوان العادية. ثم يمكن للضيف (guest) التسبب في حدوث وصول إلى RAM صالحة عند نفس GFN ليتم إرجاعه إلى فضاء المستخدم على شكل `KVM_EXIT_MMIO`.

عند إكمال هذا الخروج من خلال مساحة عنوان RAM الخاصة ببرنامج VMM، يتم كتابة الصفحة الداعمة دون المرور عبر مسار تتبع الكتابة (write-tracking path) الخاص بـ KVM. إذا كانت هذه الصفحة تدعم جدول EPT متداخل (nested EPT table)، يمكن لـ KVM الاستمرار في استخدام الترجمات الظلية (shadow translations) المستمدة من المحتويات القديمة. يلتقط استدعاء `WARN_ON_ONCE()` الموجود داخل دالة `kvm_mmu_write_protect_fault()` هذا التركيب غير الصالح للذاكرة المؤقتة وذاكرات السعة (memslot).

استخدم ذاكرات الذاكرة النشطة الخاصة بـ vCPU عند التخزين المؤقت والتحقق من الإدخال. إصدارات memslots فريدة عبر مساحات العنوان، لذا فإن الإصدار يميز أيضاً بين وجهتي النظر العاديتين و SMM. وهذا يتطابق مع ذاكرة التخزين المؤقت لـ MMIO SPTE، والتي تستخدم بالفعل `kvm_vcpu_memslots()`.

على نواة mainline الحالية غير المصححة (unpatched)، يفشل اختبار الانحدار الذي يملأ الذاكرة المؤقتة في وضع SMM ويحدث فقط ذاكرات السعة الخاصة بـ SMM في كتابة RAM المقصودة، مما يؤدي إلى تشغيل تحذير `kvm_mmu_write_protect_fault()`. مع هذا التغيير، يكمل الاختبار نفسه عملية كتابة RAM دون أي تحذير. كما تمر اختبارات الوحدة الذاتية (selftests) التالية: `x86/smm_test` و `set_memory_region_test` و `memslot_modification_stress_test`.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425817

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!