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

الملخص

بحسب VulDB • 19/07/2026

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

KVM: x86/mmu: التأكد من وجود الصفحة الضخمة (hugepage) ضمن النطاق المحدد للذاكرة (slot) قبل التحقق من مستوى التضمين الأقصى (max mapping level).

عند استعادة الصفحات الضخمة في ذاكرة التخزين المؤقت الظلية للمدير الافتراضي (shadow MMU)، يجب التحقق من أن العنوان الفيزيائي الأساسي (base gfn) لصفحة الذاكرة الظلية موجود فعلياً ضمن نطاق memslot المستهدف، *قبل* الاستعلام عن مستوى التضمين الأقصى بناءً على عنوان gfN للصفحة الظلية. يمكن أن يؤدي عدم التحقق المسبق من صحة عنوان gfN إلى حدوث وصول خارج النطاق المحدد (out-of-bounds access) إلى هيكل البيانات lpage_info الخاص بالنطاق (والذي يتجلى عادةً كخطأ #PF في المضيف لأن lpage_info يتم تخصيصه باستخدام vmalloc)، إذا قام الضيف بإنشاء تعيين لصفحة ضخمة (في جدول entries صفحة الذاكرة PTEs الخاصة به) يمتد "إلى أسفل" حدود memslot.

عند حدوث خطأ في جلب ذاكرة للضيف، وكان حجم التعيين الخاص بالضيف أكبر من الحد الأقصى الحالي للتضمين لدى KVM، فإن KVM سيقوم بإنشاء صفحة ظللية "مباشرة" (direct shadow page)، أي مباشرة بمعنى عدم وجود gPTEs لتظليلها، وبالتالي يكون عنوان gfN المستهدف ناتجاً عن حساب مباشر بناءً على العنوان الأساسي لـ gfN للصفحة الظلية. تبحث عملية استعادة الصفحات الضخمة عن مثل هذه الصفائح الظلية المباشرة، حيث إن فرض استخدام تعيينات بحجم 4KiB عند تسجيل التغييرات (dirty logging) يولد حالة يكون فيها حجم التعيين لدى الضيف أكبر من الحجم لدى المضيف. وعند رفع قيد حجم 4KiB، يمكن لـ KVM استبدال الصفحة الظلية بصفحة ضخمة.

ولكن إذا استخدمت KVM في الأصل تعيياً أصغر مما يستخدمه الضيف لأن نطاق الذاكرة الذي تغطيه صفحة الضيف الضخمة يتجاوز حدود memslot معين، فإن KVM سيربط صفحة ظللية مباشرة مع عنوان gfN يقع خارج حدود memslot المستخدم لجلب ذاكرة عند حدوث الخطأ. سيكون إدخال rmap المضاف للتعيين الورقي (leaf mapping) صحيحاً وضمن النطاق المحدد، لكن عنوان gfN للصفحة الظلية الأم لـ SPTE الورقي سيكون خارج النطاق المحدد.

BUG: unable to handle page fault for address: ffffc90000806ffc #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 100000067 P4D 100000067 PUD 1002a7067 PMD 10612f067 PTE 0 Oops: Oops: 0000 [#1] SMP
CPU: 13 UID: 1000 PID: 757 Comm: mmu_stress_test Not tainted 7.1.0-rc1-48ce1e26eace-x86_pir_to_irr_comments-vm #341 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380144

EPSS

0.00000

KEV

لا

النشاطات

متوسط

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!