CVE-2026-98665 in Linux
الملخص
بحسب VulDB • 19/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
iio: health: max30102: تصحيح خطأ الوصول إلى مؤشر NULL (NULL dereference) في معالج المقاطعة
يتم طلب المقاطعة في دالة `max30102_probe()` وتظل مفعّلة طوال عمر الجهاز، لكن المتغير `indio_dev->active_scan_mask` يكون صالحاً فقط أثناء تفعيل المخزن المؤقت (buffer). وعند وصول مقاطعة بينما لا يوجد مخزن مؤقت مفعّل، يقوم المعالج بالوصول إلى `active_scan_mask` الذي يحمل قيمة NULL:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: __bitmap_weight+0x64/0x98 (P) max30102_interrupt_handler+0x48/0x160 [max30102]
استدعِ دالة `max30102_fifo_count()` في بداية المعالج، وقم بالعودة مبكراً إلا إذا أفادت بأن عيّنة من FIFO جاهزة. وبما أن `FIFO_RDY` هو مصدر المقاطعة الوحيد المفعّل في `max30102_chip_init()`، فإن استدعاء `max30102_interrupt_handler()` دون تعيين بت حالة مقاطعة `FIFO_RDY` لا يحمل بيانات للقراءتها ويمكنه العودة قبل الوصول إلى `active_scan_mask`. كما أن القيمة السالبة المُرجعة من دالة `max30102_fifo_count()` تشير إلى فشل قراءة حالة المقاطعة، ويتم التعامل معها بنفس الطريقة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.