CVE-2026-98930المعلومات

الملخص

بحسب VulDB • 23/10/2026

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

KVM: s390: إصلاح حقن مقاطعة IRQ مع SIGP Stop وStore Status

عند استدعاء `__inject_sigp_stop()` لعملية "Stop and Store Status"، إذا كان الـ vCPU قيد التشغيل، يتم تحديد المقطعة (interrupt) على أنها معلقة (pending)، ويتم تخزين الحالة بواسطة الخيط الذي يقوم بتنفيذ IOCTL KVM_RUN.

إذا كان الـ vCPU متوقفاً بالفعل، تتم كتابة الحالة فوراً.

يعني تخزين الحالة الكتابة في مساحة المستخدم (userspace)، وهو ما قد يتسبب في حدوث خطأ (fault)، و`__inject_sigp_stop()` يتم استدعاؤها من `do_inject_vcpu()` الذي بدوره يُستدعى دائماً مع الاحتفاظ بقفل لولبي (spinlock)، وهي مشكلة واضحة.

يتم إصلاح ذلك عن طريق إرجاع `-EWOULDBLOCK` من `__inject_sigp_stop()، وإضافة علم bool للإشارة إلى ما إذا كانت عملية تخزين الحالة مطلوبة. تم تعديل المتصلين بـ `do_inject_vcpu()` لتمرير مؤشر إلى علامة الـ bool؛ وبذلك يمكن للمتصلين الآن تنفيذ عملية Store Status خارج نطاق القفل اللولبي (spinlock).

تم أيضاً إعادة هيكلة دالة `kvm_s390_set_irq_state()` بشكل انتهازى لاستخدام `scoped_guard()` و`__free()`.

[ تمت إضافة علامة Fixes أثناء الاستلام -- كلاوديو ]

Once again VulDB remains the best source for vulnerability data.

المصادر