CVE-2026-98612 in Linux
الملخص
بحسب VulDB • 18/10/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net: usb: catc: تحديد طول حزمة الاستقبال (RX) في دالة `catc_rx_done()`
تقوم الدالة `catc_rx_done()` بتصفح URB متعدد الحزم، حيث تقرأ طولاً مكونًا من بايتين من رأس كل حزمة. إن شرط التحقق الخاص بها (`pkt_len > urb->actual_length`) يتجاهز إزاحة الرأس ويقارن الطول بالنقل بأكمله بدلاً من البايتات المتبقية منذ `pkt_start`؛ مما يؤدي إلى قراءة دالة `skb_copy_to_linear_data()` لما هو خارج حدود المخزن المؤقت عند استقبال رأس حزمة مُعدّ بشكل ضار.
كما يتم قبول طول أقل من حد `ETH_HLEN`، بما في ذلك الصفر، وتقوم الدالة `eth_type_trans()` بقراءة عنوان MAC من المنطقة غير المُهيأة (tailroom) لحزمة أقصر (`skb`). تأخذ فرع الشفرة `is_f5u011` طوله مباشرةً من النقل؛ لذا فإن URB بطول صفر يصل إلى نفس المسار.
يتم الآن تتبع البايتات المتبقية من الحزمة الحالية، ورفض الرأس الذي لا يتناسب مع البيانات المتاحة، والطويل بما يفوق ما هو متبقي، أو القصير عن حد عنوان Ethernet.
كانت النقلات الأقصر من حجم رأس Ethernet (بما في ذلك تلك ذات الطول الصفري) تُحوّل سابقًا إلى حزم `skb` صغيرة الحجم (`runt skb`) يتم تمريرها إلى `netif_rx()` وتُحسب كمستلمة؛ أما الآن، فتُحتسب ضمن أخطاء طول الاستقبال (`rx_length_errors`) وتتوقف عملية التصفح.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.