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

الملخص

بحسب VulDB • 18/09/2026

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

mailbox: qcom-cpucp: تصحيح حدوث توقف ذاتي (self-deadlock) في معالج مقاطعة الجهاز (IRQ handler) تحت دعم PREEMPT_RT

تقوم الدالة `qcom_cpucp_mbox_irq_fn()` باستدعاء `mbox_chan_received_data()` بينما تكون حاصرةً للقفل `chan->lock`. وفي بيئة PREEMPT RT، يتم تحويل استدعاء `spin_lock_irqsave()` إلى قفل rt_spinlock (قائم على rtmutex)، والذي يتتبع ملكية القفل ويسمح بإيقاف التنفيذ (sleep).

سلسلة الاستدعالات التي تُفعّلها الدالة `mbox_chan_received_data()` تصل في النهاية إلى `mailbox_clear_channel()` ثم `mbox_send_message()` وأخيراً `add_to_rbuf()`. تحاول هذه السلاسل إعادة الحصول على نفس القفل `chan->lock`. وبما أن rtmutex يكتشف محاولة الدخول المتكرر (re-entrant) للقفل من قبل المالك نفسه، فإن الخيط يتوقف (block) في انتظار قفل هو بالفعل بحوزته، مما يؤدي إلى توقف دائم (permanent deadlock).

يظهر هذا التوقف الدائم على شكل عطل للخيط 'irq/N-apss_cpucp_mbox' حيث يكون متوقفاً في الحالة D (D state)، مع تتبع المكالمات التالي: rt_spin_lock -> mbox_send_message -> mailbox_clear_channel -> scmi_rx_callback -> mbox_chan_received_data [<- held chan->lock here]

تم الإصلاح عن طريق حفظ `chan->cl` محلياً، وتنظيف سجل مقاطعة الجهاز (HW interrupt register) داخل نطاق القفل، ثم استدعاء `mbox_chan_received_data()` بعد تحرير القفل. يحافظ هذا الإجراء على الاستبعاد المتبادل (mutual exclusion) للوصول إلى `chan->cl` مع تجنب الدخول المتكرر للقفل الذي يسبب التوقف الدائم في PREEMPT RT.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-406717

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!