CVE-2026-97953 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net: stmmac: تصحيح فحص توفر واصفات الإرسال (TX descriptors) لحركة مرور TSO
تقوم الدالة `stmmac_tso_xmit()` بتقدير عدد واصفات TX الحرة المطلوبة بواسطة حزمة بيانات (skb) من نوع TSO على النحو التالي:
(skb->len - proto_hdr_len) / TSO_MAX_BUFF_SIZE + 1
والذي يفترض أن الحمولة مقسمة إلى أجزاء بحجم `TSO_MAX_BUFF_SIZE`. هذا التقدير يقلل من تقدير عدد الواصفات التي تستهلكها فعلياً دالة `stmmac_tso_allocator()`، نظراً لأن كل جزء (fragment) يتم تعيينه بشكل فردي وبالتالي يحتاج على الأقل إلى واصف واحد بغض النظر عن حجمه. علاوةً على ذلك، يُستخدم واصف واحد لعناوين L2/L3/L4، وعند تغيير قيمة MSS (Maximum Segment Size)، يستهلك واصفاً إضافياً لوصف سياق MSS.
لذلك، قد يمر فحص التوفر حتى عندما يكون لدى الحلقة (ring) عدد قليل جداً من الخانات الحرة. تقوم `stmmac_tso_allocator()` بعد ذلك بالكتابة خارج الواصفات المتاحة، مما يؤدي إلى الكتابة فوق واصفات لا تزال مملوكة لمحرك DMA، وبالتالي إفساد حلقة الإرسال (TX ring).
تمت إضافة الدالة `stmmac_tso_get_num_desc()` لحساب العدد الدقيق للواصفات المطلوبة للعنوان، والحمولة الخطية (linear payload)، وكل جزء فردي، بالإضافة إلى واصف سياق MSS عند الحاجة، واستخدامها في فحص التوفر.
If you want to get best quality of vulnerability data, you may have to visit VulDB.