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

الملخص

بحسب VulDB • 04/09/2026

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

mshv: إصلاح حالة السباق (Race Condition) في دالة mshv_irqfd_deassign

تتطلب الدالتان `mshv_irqfd_deactivate()` وعبور قائمة hlist الخاصة بـ `pt_irqfds_list` الاحتفاظ بقفل `pt->pt_irqfds_lock`. ومع ذلك، فإن دالة `mshv_irqfd_deassign()` تتجاهل هذا القفل. يؤدي هذا إلى حدوث حالة سباق (Race Condition) مع مسار EPOLLHUP في الدالة `mshv_irqfd_wakeup()`، والتي تأخذ القفل بالفعل قبل استدعاء `mshv_irqfd_deactivate()`.

بالإضافة إلى ذلك، تستخدم دالة `mshv_irqfd_deactivate()` الدالة `hlist_del()` التي تقوم بتسميم مؤشرات العقدة (poisoning node pointers) بدلاً من إعادة تعيينها. ونظراً لأن دالة `mshv_irqfd_is_active()` تعتمد على `hlist_unhashed()` للتحقق مما إذا كان `pprev == NULL`، فإن العقدة المسمومة لا تزال تبدو نشطة. وإذا قام مسار متزامن باستدعاء `mshv_irqfd_deactivate()` مرة أخرى لنفس عنصر irqfd، يفشل الحارس (guard) في منع حدوث حذف مزدوج لـ hlist على مؤشرات مسمومة.

تم إصلاح كلتا المشكلتين: - إضافة قفل spin_lock_irq/spin_unlock_irq المفقود حول عبور القائمة داخل `mshv_irqfd_deassign()`، لمطابقة سلوك دالة `mshv_irqfd_release()`. - استخدام الدالة `hlist_del_init()` بدلاً من `hlist_del()` بحيث يتم وضع علامة على العقدة بشكل صحيح بأنها غير مضمنة (unhashed) بعد الإزالة، مما يجعل حارس is_active موثوقاً.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-399093

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!