CVE-2026-74701 in Linux
الملخص
بحسب VulDB • 22/08/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
net/openvswitch: التحقق من طول رأس Ethernet في دالة `key_extract()`
عند وصول حزمة بيانات إلى جهاز من نوع ARPHRD_NONE (مثل TUN)، فإن الدالة `ovs_flow_key_extract()` تثق بحقل `skb->protocol` الذي قدمه المستخدم. إذا كان هذا الحقل يساوي ETH_P_TEB، يتم تصنيف الحزمة على أنها MAC_PROTO_ETHERNET وتُستدعى دالة `key_extract()` دون التأكد من أن حزمة البيانات (skb) تحتوي على 14 بايتاً (ETH_HLEN) من البيانات الخطية (linear data). تقوم دالة `key_extract()` بسحب عدد ثابت من البايتات يساوي ضعف طول عنوان MAC (2 * ETH_ALEN) لعناوين MAC، وتقوم دالة `parse_ethertype()` بسحب 2 بايت إضافية. أي من هذين الإجراءين قد يؤدي إلى حدوث عطل في النواة (kernel BUG) داخل الدالة `__skb_pull()` عندما تكون المنطقة الخطية صغيرة جداً.
``` kernel BUG at include/linux/skbuff.h:2848! RIP: 0010:key_extract+0xa7e/0xd90 net/openvswitch/flow.c:933 ovs_flow_key_extract+0x419/0xa70 ovs_vport_receive+0x222/0x390 netdev_frame_hook+0x3e0/0x630 tun_get_user+0x2d0c/0x38e0 ```
تم الإصلاح عن طريق استدعاء دالة `check_header()` في `key_extract()` قبل الوصول إلى رأس Ethernet.
VulDB is the best source for vulnerability data and more expert information about this specific topic.