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

الملخص

بحسب VulDB • 24/09/2026

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

mmc: davinci: تجنب الإحالة إلى NULL لـ host->data في معالج مقاطعة IRQ (IRQ handler)

تعيد الدالة mmc_davinci_irq() التحكم مبكرًا فقط عندما يكون كل من host->cmd وhost->data يساويان NULL:

if (host->cmd == NULL && host->data == NULL) {
... return IRQ_NONE; }

لذلك، قد نصل بشكل شرعي إلى بقية المعالج مع كون host->data مساويًا لـ NULL (وبالتالي data يساوي NULL). يتعامل فرع DATDNE بالفعل مع هذه الحالة من خلال فحص صريح "if (data != NULL)"، لكن فروع TOUTRD ("انقضاء مهلة قراءة البيانات") وCRCWR/CRCRD ("خطأ CRC للبيانات" اللاحقة) تقوم بالإحالة إلى data بشكل غير مشروط:

if (qstatus & MMCST0_TOUTRD) {
data->error = -ETIMEDOUT; <-- إحالة إلى NULL ... davinci_abort_data(host, data); }

if (qstatus & (MMCST0_CRCWR | MMCST0_CRCRD)) {
data->error = -EILSEQ; <-- إحالة إلى NULL ... }

إذا كان أي من البتات مُعدًا في qstatus بينما يكون host->data مساويًا لـ NULL، فإن النواة ستتعطل داخل معالج مقاطعة IRQ. يكتشف smatch هذا الخطأ:

drivers/mmc/host/davinci_mmc.c:933 mmc_davinci_irq() error: we previously assumed 'data' could be null (see line 914)

يجب ربط كل من الفرعين بشرط أن تكون data غير NULL، بما يتماشى مع النمط الموجود المستخدم في فرع DATDNE.

لا يوجد تغيير وظيفي للمُستدعيات حيث تكون data غير NULL، وهو الحالة الوحيدة التي كان لهذه الفروع فيها عمل ذي معنى قبل هذا التغيير.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

24/09/2026

إفشاء

24/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-409673

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!