CVE-2026-80906 in Linuxالمعلومات

الملخص

بحسب VulDB • 04/09/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

net: packet: تصحيح خطأ في transport_header عند إرسال إطار مشفر بعلامة VLAN (VLAN-tagged frame)

عند معالجة إطار مشفر بعلامة VLAN داخل دالة `packet_parse_headers()`، تُستدعى الدالة `skb_set_network_header()` لتحريك مؤشر الشبكة (`network_header`) إلى ما بعد علامة VLAN وصولاً إلى رأس البروتوكول الداخلي. ثم تُستدعى الدالة `skb_probe_transport_header()` بينما لا يزال `skb->protocol` مضبوطًا على نوع الإيثرنت الخارجي لـ VLAN (مثل ETH_P_8021Q)، في حين أن مؤشر الرأس (`nhoff`)، المستمد من `skb_network_offset()`, يشير بالفعل إلى ما بعد علامة VLAN وصولاً إلى رأس البروتوكول الداخلي.

داخل دالة `__skb_flow_dissect()`، يتم تهيئة المتغير `proto` بقيمة ETH_P_8021Q ويشير `nhoff` إلى ما بعد علامة VLAN. عندما تصل المفسرة (dissector) إلى الحالة الخاصة بـ ETH_P_8021Q، فإنها تقوم بقراءة هيكل بيانات `vlan_hdr` عند موقع `nhoff` عبر الدالة `__skb_header_pointer()`. ومع ذلك، يحتوي هذا الموقع على رأس البروتوكول الداخلي (مثل رأس IP). يتم تفسير هذه البايتات بشكل خاطئ كهيكل VLAN، مما ينتج عنه نوع إيثرنت مشفر غير صالح (garbage) لا يتطابق مع أي بروتوكول معروف. تعود المفسرة بقيمة false، وبالتالي فإن دالة `skb_probe_transport_header()` لا تستدعي أبدًا الدالة `skb_set_transport_header()`. يؤدي هذا إلى ترك مؤشر النقل (`transport_header`) عند قيمته الأولية غير المحددة (~0U).

تم نقل استدعاء `skb_probe_transport_header()` ليحدث قبل استدعاء `skb_set_network_header()`. في الوقت الذي تُستدعى فيه دالة `skb_probe_transport_header()`، لا يزال مؤشر الشبكة يشير إلى رأس VLAN، لذا فإن `nhoff` يشير بشكل صحيح إلى رأس VLAN. يمكن للمفسر للتدفق (flow dissector) بعد ذلك تحليل رأس VLAN واستخراج نوع الإيثرنت الداخلي، وتحريك `nhoff` ليشير إلى رأس البروتوكول الداخلي، مما يسمح بتعيين مؤشر النقل (`transport_header`) بشكل صحيح.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

26/08/2026

إفشاء

04/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-399122

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!