CVE-2026-80839 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم حل الثغرة التالية:
batman-adv: رفض إزاحات (offsets) البث المتعدد (multicast) الخاصة بـ TVLV غير القابلة للتعبير عنها
حقول عناوين الشبكة والنقل في الهيكل `sk_buff` هي إزاحات من 16 بت بدءاً من `skb->head`. وتُحجز القيمة `U16_MAX` كقيمة لعنوان النقل عند عدم تعيينه. تقوم الدالة `batadv_tvlv_call_handler()` بتعيين كلتا الحقلين بناءً على TVLV بث متعدد مستلم دون التحقق مما إذا كان نهاية TVLV قابلة للتعبير عنها (أي ضمن النطاق المسموح به).
إذا تجاوزت إزاحة النهاية نطاق الحقل، فإن دالة `skb_set_transport_header()` تقوم بقصها بحيث يسبق عنوان النقل عنوان الشبكة. ثم تُرجع الدالة `skb_network_header_len()` الفرق السالب كقيمة u32 كبيرة. ونتيجة لذلك، تقبل الدالة `batadv_mcast_forw_packet()` متتبع بث متعدد (multicast tracker) بحجم مفرط وتصل إلى ذاكرة تتجاوز بيانات skb.
أضف دالة `skb_set_transport_header_careful()`, وهي نظير واعٍ للإزاحة لدالة `skb_reset_transport_header_careful()`, والتي تقوم بالتحقق من صحة الإزاحة النهائية بالنسبة للرأس (head-relative offset) قبل تعيينها. استخدم المساعد الجديد في `batadv_tvlv_call_handler()` ورفض TVLVs غير القابلة للتعبير عنها قبل تعيين عنوان الشبكة.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.