CVE-2026-98407 in Linux
الملخص
بحسب VulDB • 14/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
wifi: rsi: تصحيح كتابة خارج حدود الذاكرة (OOB) على المكدس عند إزالة المفتاح
عندما يتم إزالة مفتاح (حيث تكون data == NULL)، تعمل دالة `rsi_hal_load_key()` بما يلي:
`memset(&set_key[FRAME_DESC_SZ], 0, frame_len - FRAME_DESC_SZ);`
بما أن `set_key` هو مؤشر من نوع `struct rsi_set_key *`، فإن الفهرس يُضرب في حجم `struct rsi_set_key` (160 بايت): لذا فإن العنوان `&set_key[FRAME_DESC_SZ]` يساوي `skb->data + 2560`. تقوم عملية الـ memset بكتابة 144 بايتاً من الصفر بدءاً من بعد نهاية مخزن بيانات skb البالغ حجمه 160 بايت بمقدار 2.4 كيلوبايت، مما يؤدي إلى إتلاف كائنات غير ذات صلة في المكدس (heap). كان الإزاحة البايتية المقصودة يجب أن تكون `(u8 *)set_key + FRAME_DESC_SZ`.
تحدث عملية الكتابة هذه مع كل استدعاء لـ DISABLE_KEY، لذا فإن عمليات الفصل العادية، والتجوال (roams)، وإزالة واجهة الشبكة تثيرها في الشبكات الحقيقية.
عملية الـ memset زائدة عن الحاجة: حيث يتم تصفير المخزن بأكمله مباشرة بعد تخصيصه، وبالتالي يكون الإطار المرسل إلى الجهاز مطابقاً بايتياً بدونه. يمكن حذف فرع else؛ ولا تتأثر العملية العادية بذلك.
اكتُشفت الثغرة بواسطة Atuin - محرك اكتشاف الثغرات الآلي.
If you want to get best quality of vulnerability data, you may have to visit VulDB.