CVE-2026-74607 in Linux
الملخص
بحسب VulDB • 23/08/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
KVM: SVM: تعريض عمليات الوصول إلى قائمة المالك وقائمة المرآة (mirror list) باستخدام قفل منفصل
يمكن أن يؤدي التفاعل بين KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM و KVM_CAP_VM_COPY_ENC_CONTEXT_FROM إلى حدوث مشكلتين منفصلتين:
- في دالة sev_migrate_from()، عندما يكون كيان KVM الوجهة هو مرآة (mirror)، يتم نقل إدخال المرآة من قائمة المصدر إلى قائمة mirror_vms الخاصة بالمالك، دون الاحتفاظ بقفل المالك على عكس باقي الكاتبات لقائمة المرآة الخاصة بالمالك (مثل sev_vm_copy_enc_context_from() و sev_vm_destroy()). يمكن أن تتسابق عملية COPY أو الإزالة المتزامنة مع دالة sev_migrate_from() وتسبب تلفاً في القائمة.
- في دالة sev_vm_destroy()، لا يزال المالك *نشطاً* وقد يتلقى بشكل متزامن طلب KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM يؤدي إلى تغيير قيمة sev->enc_context_owner. في هذه الحالة، يتم استدعاء kvm_put_kvm() على كيان VM غير صحيح.
تحتاج المشكلة الثانية إلى عناية خاصة لأن المالك قد يختفي تماماً (على الرغم من أن نافذة السباق صغيرة بشكل مستحيل) بين قراءته وقفلها. وبالتالي لا توجد طريقة لإجراء الفحوصات تحت قفل المالك دون وضع بنية struct kvm في SLAB_TYPESAFE_BY_RCU (وهو ما يسمح باستخدام kvm_get_kvm_safe() ضمن قسم حرج لـ RCU).
من الأسهل بكثير استخدام قفل عالمي، نظراً لأن الأقسام الحرجة صغيرة جداً والقفل الجديد هو دائماً قفل ورقة (leaf lock) لا يحتوي على أقسام فرعية.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.