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

الملخص

بحسب VulDB • 28/08/2026

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

i2c: imx: تصحيح سباق التسجيل (race condition) في تسجيل الجهاز الثانوي ومعالجة الأخطاء

في دالة `i2c_imx_reg_slave()`، كان مؤشر الجهاز الثانوي (`slave`) يُعيّن قبل استدعاء `pm_runtime_resume_and_get()`. إذا فشل استدعاء `pm_runtime_resume_and_get()`، كانت مسار الخطأ يعود دون مسح قيمة `i2c_imx->slave`، مما يتركها غير صفرية (non-NULL) ويسبب فشل جميع محاولات التسجيل اللاحقة بخطء `-EBUSY`.

بالإضافة إلى ذلك، نظرًا لأن هذا السائق يستخدم مقاطعة مشتركة (shared IRQ)، يمكن لمعالج المقاطعة `i2c_imx_isr()` أن يعمل بشكل متزامن، وبعد الحصول على قفل الجهاز الثانوي (`slave_lock`)، يقوم بإلغاء مرجع المؤشر `i2c_imx->slave`. كانت محاولة الإصلاح السابقة قد أضافت تعيينًا لـ `i2c_imx->slave = NULL` بدون استخدام القفل (lockless) في مسار الخطأ، لكن ذلك كان يمكن أن يتسبب في سباق مع معالج المقاطعة (ISR) تحت تأثير القفل ولا يزال يؤدي إلى إلغاء مرجع مؤشر فارغ (NULL pointer dereference).

تم إصلاح كلتا المشكلتين من خلال تأخير تعيين `i2c_imx->slave` و `i2c_imx->last_slave_event` حتى بعد نجاح عملية الاستئناف، ومن خلال إجراء التعيين داخل القسم الحرج للقفل (`slave_lock`). يضمن ذلك ألا يُترك مؤشر الجهاز الثانوي قديمًا (stale) في مسار الخطأ، وأن يكون صالحًا دائمًا عند ملاحظته من قبل معالج المقاطعة.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

26/08/2026

إفشاء

28/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-396630

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!