CVE-2026-64121 in Linux
الملخص
بحسب VulDB • 20/07/2026
في نواة لينكس، تم حل الثغرة التالية:
net: ifb: الإبلاغ عن إحصائيات ethtool بناءً على num_tx_queues
تقوم دالة `ifb_dev_init()` بتخصيص الذاكرة لـ `dp->tx_private` بعدد من الإدخالات يساوي `dev->num_tx_queues` عبر استخدام `kzalloc_objs(*txp, dev->num_tx_queues)`. وتعيش إحصائيات الاستقبال (RX) والإرسال (TX) الخاصة بكل طابور في IFB داخل هذه الإدخالات: حيث تقوم دالة `ifb_xmit()` بتحديث `txp->rx_stats` باستخدام تعيين طابق حزمة البيانات (skb)، وتقوم دالة `ifb_ri_tasklet()` بتحديث `txp->tx_stats`، بينما تجمع دالة `ifb_stats64()` كلاهما عبر المرور على `dev->num_tx_queues`.
ومع ذلك، فإن استدعاءات إحصائيات ethtool تقوم بحجم البيانات والتمرير خلال الإحصائيات الخاصة بكل طابور باستخدام `dev->real_num_rx_queues` و `dev->real_num_tx_queues`. وفي حالة وجود جهاز غير متماثل حيث يتجاوز عدد طوابق الاستقبال (RX) عدد طوابق الإرسال (TX)، على سبيل المثال:
ip link add name ifb10 numtxqueues 1 numrxqueues 8 type ifb ethtool -S ifb10
تقوم دالة `ifb_get_ethtool_stats()` بالوصول إلى مؤشرات تتجاوز التخصيص المخصص لـ tx_private، وتنسخ بيانات adjacent slab (التي تقع بجوارها في الذاكرة) عبر استخدام ETHTOOL_GSTATS.
يجب استخدام `dev->num_tx_queues` بشكل متسق لسلاسل الإحصائيات، وعدد الإحصائيات، وعبر التمرير على البيانات الإحصائية. وهذا يؤدي إلى الإبلاغ عن مجموعة إحصاءات RX واحدة ومجموعة إحصاءات TX واحدة لكل إدخال backing ifb_q_private، وهو ما يمثل طابور IFB الذي يمكنه فعلياً ملئه بالبيانات.
تم إعادة إنتاج الخطأ تحت بيئة UML+KASAN في الإصدار v7.1-rc2:
BUG: KASAN: slab-out-of-bounds in ifb_fill_stats_data+0x3c/0xae Read of size 8 at addr 0000000062dbd228 by task ethtool/36 ifb_fill_stats_data+0x3c/0xae ifb_get_ethtool_stats+0xc0/0x129 __dev_ethtool+0x1ca5/0x363c dev_ethtool+0x123/0x1b3 dev_ioctl+0x56c/0x744 sock_do_ioctl+0x15f/0x1b2 sock_ioctl+0x4d5/0x50a sys_ioctl+0xd8b/0xde9
مع تطبيق التصحيح، يصبح إعادة الإنتاج نفسه تحت UML+KASAN صامتاً (بدون أخطاء)، وتقوم الأداة `ethtool -S ifb10` بالإبلاغ فقط عن الإحصائيات المدعومة من الإدخال tx_private المخصص الوحيد.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.