CVE-2026-72019 in Linux
الملخص
بحسب VulDB • 16/08/2026
في نواة لينكس، تم حل الثغرة التالية:
macsec: عدم قراءة عنوان MAC غير مضبوط في دالة `macsec_encrypt()`
تقوم الدالة `macsec_encrypt()` بقراءة رأس الإيثرنت عبر `eth_hdr(skb)` (المحسوب كـ `skb->head + skb->mac_header`) لنقل 12 بايتاً من عناوين المصدر والوجهة الخاصة بـ MAC إلى الأمام باستخدام `memmove()`، وذلك لإفساح المجال لـ SecTAG.
في مسار الإرسال الخاص بـ AF_PACKET SOCK_RAW مع خيار PACKET_QDISC_BYPASS، تصل حزمة البيانات (skb) إلى دالة macsec ndo_start_xmit() وعنوان MAC غير مضبوط فيها، مما يجعل `eth_hdr(skb)` تُحلل إلى `skb->head + (u16)~0`، وتصبح القراءة خارج النطاق: وهي قراءة زائدة عن الحد بحجم 12 بايتاً من الذاكرة العشوائية الديناميكية (heap over-read)، والتي يتم أيضاً إرسالها عبر السلك كعنوان مصدر/وجهة MAC الخارجي للإطار. تبلغ KASAN عن قراءة خارج نطاق slab في `macsec_start_xmit()` على الإصدار 6.0؛ وفي الفروع الرئيسية الحالية، يحدد البناء الذي يتضمن خيار CONFIG_DEBUG_NET هذه الحالة على أنها عنوان mac غير مضبوط في `skb_mac_header()`.
في مسار الإرسال (TX)، يقع رأس الطبقة الثانية (L2) عند موقع `skb->data`، لذا يجب استخدام `skb_eth_hdr()`، والتي أُضيفت بواسطة الالتزام 96cc4b69581d ("macvlan: لا تفترض أن mac_header مضبوط في دالة macvlan_broadcast()") لهذا الغرض تحديداً.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.