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

الملخص

بحسب VulDB • 19/07/2026

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

KVM: استبدال استدعاء BUG_ON() القابل للتفعيل من قبل الضيف في مطابقة بيانات ioeventfd باستخدام get_unaligned()

إزالة استدعاء BUG_ON() الذي كان قابلاً للوصول منذ إضافته لأول مرة، منذ عام 2009، واستخدام دالة get_unaligned() بدلاً منه لإجراء عمليات الوصول التي قد تكون غير محاذاة (unaligned).

بالنسبة لعملية تخزين معينة، يتتبع مقلد KVM لنظام x86 القيمة الكاملة في العامل الوجهوي، وهو `x86_emulate_ctxt.dst`. إذا كان الهدف ذاكرة، وكان النطاق المستهدف يمتد عبر صفحات متعددة و/أو يتم محاكاة الوصول إليه كـ MMIO (ذاكرة الإدخال والإخراج المحاكية)، فإن KVM يعالج كل جزء بشكل مستقل. على سبيل المثال، في حالة تقسيم صفحة يبدأ عند الإزاحة 0xffc من الصفحة، يكتب KVM 4 بايتات إلى الصفحة الأولى، ثم البايتات المتبقية إلى الصفحة الثانية، باستخدام `ctxt->dst` كمصدر لكلا العمليتين (مع إزاحات مناسبة).

إذا كان الهدف يقسم صفحة *ويضرب* أيضاً وصولاً محاكياً لـ MMIO في الصفحة الثانية، فإن KVM سيكمل الكتابة إلى الصفحة الأولى، ثم يحاكي الوصول إلى MMIO للصفحة الثانية. إذا كان هناك ioeventfd مفعّل لمطابقة البيانات (datamatch) عند الإزاحة 0 من الصفحة الثانية، فسيتم معالجة باقي عملية التخزين بواسطة KVM كإشارة محتملة لـ ioeventfd.

بجمع كل ما سبق، إذا أصدر الضيف عملية تخزين تقسم صفحة تبدأ عند إزاحة N في الصفحة، وكان للصفحة الثانية ioeventfd مفعّل لمطابقة البيانات عند الإزاحة 0، فسيتحقق KVM من مطابقة البيانات باستخدام `&dst.valptr[N]` كمصدر. ونظراً لأن `dst` (وبالتالي `dst.valptr`) محاذاة على حدود 32 بايتاً، إذا كانت N غير محاذاة بالنسبة لـ @len، فإن استدعاء BUG_ON() يُفعّل.

على سبيل المثال، مع عملية تخزين بحجم 16 بايت عند إزاحة الصفحة 0xffc، إلى ioeventfd بطول 8 بايتات، ستنجح جميع فحوصات البداية في `ioeventfd_in_range()`، وسيفشل استدعاء BUG_ON() بسبب كون @val محاذاً على حدود 4 بايتات ولكن ليس على حدود 8 بايتات.

``` ------------[ cut here ]------------
kernel BUG at arch/x86/kvm/../../../virt/kvm/eventfd.c:783! Oops: invalid opcode: 0000 [#1] SMP
CPU: 0 UID: 1000 PID: 615 Comm: repro Not tainted 7.1.0-rc2-ff23842

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380143

EPSS

0.00000

KEV

لا

النشاطات

متوسط

المصادر

Want to know what is going to be exploited?

We predict KEV entries!