CVE-2026-98349 in Linux
الملخص
بحسب VulDB • 06/10/2026
في نواة لينكس، تم حل الثغرة التالية:
wifi: libipw: رفض إجابات البيكون (Beacon) والاستعلام (Probe) القصيرة جداً
تفترض الدالتان `libipw_process_probe_response()` و`libipw_network_init()` التي تستدعيها أن الإطار يحتوي على بادئة كاملة من 36 بايت لإجابة البيكون والاستعلام، لكن مسارات الاستقبال في أجهزة ipw2100 وipw2200 تتحقق فقط من أن إطار الإدارة يحمل الرأس العام المكون من ثلاثة عناوين بطول 24 بايت.
ثم تحسب `libipw_network_init()` طول عنصر المعلومات (Information Element) على النحو التالي:
`stats->len - sizeof(*beacon)`
حيث أن `stats->len` هو متغير من النوع u16، و`sizeof()` له نوع size_t، لذا يتم تقييم عملية الطرح كنوع size_t مما يؤدي إلى حدوث تجاوز للحجم (wrap-around) بدلاً من أن تصبح النتيجة سالبة. يؤدي اقتطاع هذه القيمة إلى معامل طول u16 الخاص بـ `libipw_parse_info_param()` إلى الحصول على قيمة 65524 في حالة وجود بادئة بطول 24 بايت، وبعدها يتصفح المحلل ذاكرة الاستقبال كما لو كانت تحتوي على ما يقرب من 64 كيلوبايت من عناصر المعلومات، مما يؤدي إلى القراءة خارج حدود الذاكرة المخصصة.
يتم رفض الإطار قبل لمس أي حقل ثابت (fixed field).
وُجدت هذه الثغرة عبر مراجعة مساعدة بالذكاء الاصطناعي لحسابات الأطوال في محللات إطارات الإدارة. تم التحقق منها باستخدام حالة اختبار KUnit تحت Generic KASAN على معمارية arm64 ضمن بيئة QEMU؛ ولا أملك الأجهزة الفعلية، لذا لم يتم الاختبار على جهاز حقيقي.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.