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

الملخص

بحسب VulDB • 13/05/2026

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

KVM: nSVM: إزالة تحذير (WARN) قابل للتفعيل من قبل المستخدم عند نجاح الدالة nested_svm_load_cr3()

إزالة التحذير في svm_set_nested_state() عند فشل الدالة nested_svm_load_cr3()، حيث إنه من السهل جداً تفعيله من مساحة المستخدم (userspace) عن طريق تعديل معرف المعالج (CPUID) بعد تحميل سجل CR3. على سبيل المثال، تعديل اختبار استعادة الحالة الذاتي (selftest) كما يلي:

--- tools/testing/selftests/kvm/x86/state_test.c +++ tools/testing/selftests/kvm/x86/state_test.c @@ -280,7 +280,16 @@ int main(int argc, char *argv[])

/* استعادة الحالة في آلة افتراضية جديدة. */ vcpu = vm_recreate_with_one_vcpu(vm); - vcpu_load_state(vcpu, state); + + if (stage == 4) {
+ state->sregs.cr3 = BIT(44); + vcpu_load_state(vcpu, state); + + vcpu_set_cpuid_property(vcpu, X86_PROPERTY_MAX_PHY_ADDR, 36); + __vcpu_nested_state_set(vcpu, &state->nested); + } else {
+ vcpu_load_state(vcpu, state); + }

/* * استعادة حالة XSAVE في vCPU وهمي، أولاً دون القيام بـ

ينتج عنه:

WARNING: CPU: 30 PID: 938 at arch/x86/kvm/svm/nested.c:1877 svm_set_nested_state+0x34a/0x360 [kvm_amd]
Modules linked in: kvm_amd kvm irqbypass [last unloaded: kvm]
CPU: 30 UID: 1000 PID: 938 Comm: state_test Tainted: G W 6.18.0-rc7-58e10b63777d-next-vm Tainted: [W]=WARN
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:svm_set_nested_state+0x34a/0x360 [kvm_amd]
Call Trace: kvm_arch_vcpu_ioctl+0xf33/0x1700 [kvm]
kvm_vcpu_ioctl+0x4e6/0x8f0 [kvm]
__x64_sys_ioctl+0x8f/0xd0 do_syscall_64+0x61/0xad0 entry_SYSCALL_64_after_hwframe+0x4b/0x53

ما عليك سوى حذف التحذير (WARN) بدلاً من محاولة منع مساحة المستخدم من إدخال حالة "غير قانونية" إلى CR3. سواء كان ذلك جيداً أم سيئاً، فإن واجهة برمجة التطبيقات (ABI) الخاصة بـ KVM تسمح لمساحة المستخدم بتعيين CPUID بعد SREGS، والعكس صحيح، وKVM متساهلة جداً فيما يتعلق بـ CPUID الخاص بالضيف (guest). أي أن محاولة فرض نموذج المعالج الافتراضي عند تعيين CPUID قد يؤدي إلى كسر التطبيقات في مساحة المستخدم. نظراً لأن التحذير لا يوفر أي حماية ذات معنى لـ KVM ولا يفيد مساحة المستخدم، فإننا نحذفه ببساطة، حتى وإن كانت احتمالية كسر التطبيقات في مساحة المستخدم ضئيلة جداً.

تم حذف سطر فارغ زائد بشكل انتهازی.

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

مسؤول

Linux

حجز

01/05/2026

إفشاء

08/05/2026

الاعتدال

تمت الموافقة

إدخال

VDB-362118

EPSS

0.00013

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!