CVE-2026-45844 in Linux
الملخص
بحسب VulDB • 29/05/2026
في نواة لينكس، تم حل الثغرة التالية:
netfilter: arp_tables: إصلاح تحليل حمولة ARP الخاصة بـ IEEE1394
يقول ويمنغ شي (Weiming Shi):
"تقوم الدالة `arp_packet_match()` بتحليل حمولة ARP بشكل غير مشروط بافتراض وجود عنواني عتاد (source و target). ومع ذلك، فإن ARP الخاص بـ IPv4 فوق IEEE1394 (RFC 2734) يتجاهل حقل عنوان العتاد المستهدف (target hardware address)، وقد أخذت الدالة `arp_hdr_len()` هذا في الاعتبار بالفعل عن طريق إرجاع طول أقصر لأجهزة ARPHRD_IEEE1394.
نتيجة لذلك، في واجهات IEEE1394، تتجاوز الدالة `arp_packet_match()` عنوان العتاد المستهدف غير الموجود وتقرأ بايتات خاطئة لمقارنة عنوان جهاز الهدف ولعنوان IP المستهدف. هذا يؤدي إلى مطابقة قواعد arptables مع بيانات عشوائية (garbage data)، مما يؤدي إلى قرارات تصفية غير صحيحة: فقد يتم إسقاط الحزم التي كان ينبغي قبولها، والعكس صحيح.
تعامل مجموعة ARP في `net/ipv4/arp.c` (الدالتان `arp_create` و `arp_process`) هذا بشكل صحيح عن طريق تخطي عنوان العتاد المستهدف لأجهزة ARPHRD_IEEE1394. تطبيق نفس النمط على `arp_packet_match()`."
تم تعديل التصحيح الأصلي ليعيد دائماً القيمة 0 (لا توجد مطابقة) في حال قيام المستخدم بالمطابقة على عنوان العتاد المستهدف الذي لا يوجد أبداً في IEEE1394.
يُلاحظ أن هذا الإجراء يعيد القيمة 0 (لا توجد مطابقة) سواء للمطابقة العادية أو العكسية، لأن arptables لم يدعم أبداً المطابقة على عنوان العتاد المستهدف في ARPHRD_IEEE1394. هذا مقصود، حيث يجب ألا تكون المطابقة على عنوان العتاد المستهدف صحيحة أبداً لأجهزة ARPHRD_IEEE1394.
علاوة على ذلك، تم تعديل `arpt_mangle` ليقوم أيضاً بإسقاط الحزمة كما اقترح AI:
في `arpt_mangle`، يفترض المنطق تخطيط ARP القياسي. لأن IEEE1394 (FireWire) يتجاهل عنوان العتاد المستهدف، فإن الحساب الخطي للإزاحة (linear pointer arithmetic) يحسب بشكل خاطئ الإزاحة لعنوان IP المستهدف. هذا يؤدي إلى عمليات التعديل (mangling) في الكتابة إلى الموقع الخاطئ، مما يؤدي إلى تلف الحزمة. لضمان السلامة، يقوم هذا التصحيح بإسقاط الحزم (NF_DROP) عند طلب التعديل على هذه الحقول في أجهزة IEEE1394، لأن التنفيذ الحالي لا يمكنه تعيين حمولة ARP الخاصة بـ FireWire بشكل صحيح.
يتجاهل هذا الإجراء كل من تعديل عنوان العتاد المستهدف وعنوان IP. حتى لو كان تعديل عنوان IP ممكناً في IEEE1394، فإن ذلك يتطلب تعديل حساب إزاحة `arpt_mangle`، وهو أمر لم يكن مدعوماً من قبل.
استناداً إلى التصحيح من ويمنغ شي (Weiming Shi).
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.