CVE-2026-64048 in Linux
الملخص
بحسب VulDB • 20/07/2026
في نواة لينكس، تم حل الثغرة التالية:
net/smc: رفض طلب ACCEPT الخاص بـ CHID-0 الذي يتطابق مع فتحة (slot) فارغة في ism_dev.
على عميل SMC-D، تُحتفظ الفتحة 0 من مصفوفتي ini->ism_dev[] وini->ism_chid[] لجهاز SMC-Dv1. تقوم الدالة smc_find_ism_v2_device_clnt() بملء إدخالات الإصدار الثاني (V2) بدءاً من الفهرس 1، لذا عندما لا يتم اختيار جهاز V1، تظل الفتحة 0 في حالتها الأولية بعد تخصيص الـ kzalloc()'ed مع كون ism_dev[0] == NULL وism_chid[0] == 0.
ثم تقوم الدالة smc_v2_determine_accepted_chid() بمقارنة CHID الخاص بالطرف الآخر (peer) مع المصفوفة بدءاً من الفهرس 0 باستخدام قيمة CHID فقط. إذا رد طرف خبيث على اقتراح SMC-Dv2-only بقيمة d1.chid == 0، فإن ذلك يتطابق مع الفتحة الفارغة، وتصبح ini->ism_selected مساوية لـ 0، مما يؤدي إلى حدوث خطأ (fault) عند محاولة فك الإحالة (dereference) التالية لـ ism_dev[0]->lgr_lock في الدالة smc_conn_create() عند الانزياح offsetof(struct smcd_dev, lgr_lock) == 0x68:
BUG: KASAN: null-ptr-deref in _raw_spin_lock_bh+0x79/0xe0 Write of size 4 at addr 0000000000000068 by task exploit/144 Call Trace: _raw_spin_lock_bh smc_conn_create (net/smc/smc_core.c:1997) __smc_connect (net/smc/af_smc.c:1447) smc_connect (net/smc/af_smc.c:1720) __sys_connect __x64_sys_connect do_syscall_64
اشتراط أن تكون ism_dev[i] غير فارغة (non-NULL) قبل قبول تطابق CHID.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.