CVE-2026-53359
KVM: x86: إصلاح ثغرة الاستخدام بعد التحرير في الترحيل الظلي بسبب دور غير متوقع
- تم النشر
- 04/07/2026
- محدث
- 17/08/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 04/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 59.6%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة لينكس، تم حلّ الثغرة الأمنية التالية: KVM: x86: إصلاح استخدام بعد التحرير في الترحيل الظلي بسبب دور غير متوقع. الالتزام 0cb2af2ea66ad ("KVM: x86: إصلاح استخدام بعد التحرير في الترحيل الظلي بسبب GFN غير متوقع") أصلح عدم تطابق في الترحيل الظلي بين قيم GFN المخزّنة والمحسوبة؛ وكان من الممكن استغلال الخطأ عن طريق تغيير تخطيط PDE من خارج الضيف (guest)، ثم حذف memslot. إن استدعاء rmap_remove() سيفشل في إزالة القيود (entries) المنشأة بعد تغيير PDE لأن GFN لـ SPTE الطرفية لا يطابق GFN الخاص بـ struct kvm_mmu_page. ومع ذلك، تظل هناك فجوة مماثلة إذا كان PDE المعدَّل يشير إلى صفحة غير طرفية. في هذه الحالة يمكن جعل gfn متطابقًا، لكن الدور (role) لا يتطابق: الصفحة الكبيرة الأصلية بحجم 2MB تنشئ kvm_mmu_page بخصائص direct=1، بينما الصفحة الجديدة بحجم 4KB تتطلب kvm_mmu_page بخصائص direct=0. ومع ذلك، فإن kvm_mmu_get_child_sp() لا تقارن الدور، وبالتالي تعيد استخدام الصفحة. الخطوة التالية هي تثبيت SPTE طرفية (4KB) على المسار الجديد، والتي تسجّل قيد rmap تحت gfn الذي تم حله بواسطة التنقل (walk). ولكن عندما يتم إتلاف (zap) تلك الصفحة الطرفية، فإن صفحة kvm_mmu_page الأصلية لها direct=1 وتقوم kvm_mmu_page_get_gfn() بحساب gfn للصفحة 4KB على أنه sp->gfn + index بدلاً من استخدام sp->shadowed_translation[] (أو sp->gfns[] في النوى الأقدم). وبالتالي تفشل في إزالة القيد المسجّل. عندما يتم إسقاط memslot، يتم تحرير صفحة الظل لكن قيد rmap يبقى، كما في السيناريو الذي تم إصلاحه مسبقًا. أي شيفرة لاحقة تتنقل عبر ذلك gfn (تسجيل الأوساخ (dirty logging)، إبطال إشعار MMU، وما إلى ذلك) تقوم بإلغاء مرجعية sptep يقع في الصفحة المحرَّرة، مما يسبب استخدامًا بعد التحرير.
المصادر
4- CVE-2026-53359إعلامية
CVE-2026-53359
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.