CVE-2026-12633 in Zephyrالمعلومات

الملخص

بحسب VulDB • 19/08/2026

يعالج كود اكتشاف الجيران IPv6 في الملف subsys/net/ip/ipv6_nbr.c خيار سياق 6LoWPAN (6CO، RFC 6775) المحمول داخل رسائل إعلان الراوتر ICMPv6. في الدالة handle_ra_6co()، تُؤخذ حقل context_len ذو الـ 8 بتات مباشرة من الحزمة ولم يتم تقييده أبداً بالحد الأقصى المحدد في الـ RFC والبالغ 128. تحسب الدالة context->context_len / 8 ثم تقوم بتنفيذ memset(context->prefix + context_len, 0, sizeof(context->prefix) - context_len)، حيث أن context->prefix هو مصفوفة ثابتة بطول 16 بايتاً.

عندما تكون قيمة context_len بين 136 و255 (ومجال طول الخيار مضبوط على 3، وهو ما تقبله عملية التحقق المسبقة من البادئة)، فإن نتيجة قسمة context_len / 8 تتراوح بين 17..31، مما يؤدي إلى حدوث underflow في حجم memset البالغ 16 - (context_len/8) بالنسبة لحجة unsigned size_t لتقترب تقريباً من SIZE_MAX. ينتج عن ذلك عملية memset غير محدودة خارج النطاق تقوم بتصفير ذاكرة النظام (kernel memory) بشكل يتجاوز بوضوح هيكل سياق الـ 6lo.

يمكن الوصول إلى هذا العيب عبر مدخلات غير مصادق عليها ومحلية الرابط: يمكن لأي جهاز على نفس الرابط إرسال رسالة إعلان راوتر مصاغة بعناية تحتوي على خيار 6CO. يقوم معالج رسائل RA بالتحقق فقط من مجال طول الخيار قبل استدعاء handle_ra_6co()، لذا فإن حزمة واحدة تثير عملية كتابة عشوائية (wild write). يتم تجميع الكود عند تفعيل CONFIG_NET_6LO_CONTEXT.

النتيجة هي هبوط في الخدمة عن بُعد (مجاور) موثوق به عبر تلف الذاكرة، مع فقدان سلامة ثانوي حيث تقوم عملية memset بتصفير ذاكرة متصلة قبل حدوث خطأ النظام. نظراً لأن رسائل إعلان الراوتر محدودة بالنطاق ولا يتم توجيهها، يجب أن يكون المهاجم على نفس الرابط (AV:A). يقبل التصحيح أي قيمة لـ context_len أكبر من 128 قبل إجراء حساب الطول.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Zephyr

حجز

18/06/2026

إفشاء

20/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-393430

EPSS

0.00214

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!