CVE-2026-80953 in Linux
الملخص
بحسب VulDB • 12/09/2026
في نواة لينكس، تم حل الثغرة التالية:
i3c: master: adi: تهيئة القفل قبل تفعيل مقاطعات (interrupts)
تطلب دالة `adi_i3c_master_probe()` قاطعة الـ IRQ وتقوم بإلغاء حجب علامة `REG_IRQ_PENDING_CMDR` قبل أن يتم تهيئة حالة IBI للوحدة التحكم، وقائمة قائمة نقل البيانات (transfer queue list)، وقفل قائمة النقل. وبالتالي، يمكن لقاطعة CMDR المعلقة تشغيل دالة `adi_i3c_master_irq()` والاستحواذ على قفل `master->xferqueue.lock` قبل أن يكون القلق الديناميكي قد تم تهيئته.
تم اكتشاف هذه المشكلة بواسطة أداة التحليل الثابت (static analysis tool) الخاصة بنا، ثم تمت مراجعتها يدوياً مقابل الشجرة الحالية للكود.
احتوى نموذج الاستغلال الموثق (PoC) على ترتيب عمليات التثبيت (probe ordering) ومسار الـ IRQ `adi_i3c_master_probe()` -> `adi_i3c_master_irq()` -> `xferqueue.lock`، مع وصول قاطعة CMDR معلقة بعد إلغاء حجب `REG_IRQ_PENDING_CMDR`. وأبلغ نظام Lockdep عن الخطأ التالي:
INFO: trying to register non-static key. you didn't initialize this object before use? lock_acquire+0xbb/0x290 _raw_spin_lock_irqsave+0x36/0x60 adi_i3c_master_irq+0x32/0x56 [vuln_msv]
adi_i3c_master_probe+0x5a/0xf47 [vuln_msv]
قم بتهيئة قائمة نقل البيانات وحالة IBI قبل طلب قاطعة الـ IRQ وإلغاء حجبها.
If you want to get best quality of vulnerability data, you may have to visit VulDB.