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

الملخص

بحسب VulDB • 17/08/2026

يحتوي كود فك ضغط عناوين IP (IPHC) الخاص بـ 6LoWPAN في Zephyr على قراءة خارج النطاق (out-of-bounds read) داخل الدالة `get_ihpc_inlined_size()` (في الملف `subsys/net/ip/6lo.c`). يتم البحث عن حجم التضمين الداخلي للوجهة في جدول `da_inline_size_table`، الذي يحتوي على 13 مدخلاً، باستخدام فهرس مُبنى من بتات M و DAC و DAM الموجودة في كلمة الإرسال IPHC المستلمة (`iphc & NET_6LO_IPHC_DA_MASK`)، وهي قيمة مكونة من 4 بت تتراوح بين 0 و 15. التوليفات المحجوزة (الأرقام) 13 و 14 و 15 لا تخضع لفحص النطاق وتقرأ ما بعد نهاية الجدول.

تُؤخذ كلمة iphc مباشرةً من الإطار المستلم، ويتم الوصول إلى `get_ihpc_inlined_size()` في كل إطار قادم لـ 6LoWPAN عبر الدالة `net_6lo_uncompress()` ضمن مسار الاستقبال الخاص بـ 802.15.4 (في الملفات `subsys/net/l2/ieee802154/ieee802154_6lo.c` و `ieee802154_6lo_fragment.c`). وبالتالي، يمكن لمهاجم غير مُصادق عليه على الرابط اللاسلكي أو المجاور أن يصمم إطاراً تختار فيه niblet وضع التوجيه للوجهة فهرساً خارج النطاق، دون الحاجة إلى امتيازات أو تفاعل من المستخدم.

تصبح القيمة الخارجة عن النطاق هي حجم التضمين الداخلي المحسوب (`inline_size`)، والذي يقود بعد ذلك إعادة بناء الرأس قبل فحص طول المخزن المؤقت: حيث تُستخدم لاستدعاء مؤشر `*(pkt->buffer->data + sizeof(iphc) + inline_size)` ولحساب فرق من نوع `size_t` قد يؤدي إلى تجاوز سالب (underflow)، مما يتسبب في قراءة إضافية خارج النطاق لمخزن حزمة البيانات وفك ضغط غير صحيح. الأثر العملي هو حدوث قراءة خارج النطاق قابلة للتفعيل عبر اللاسلكي / إنكار للخدمة على المستقبل؛ ولا يتم إرجاع البايت المسرب إلى المهاجم. يقضي الإصلاح برفض أي فهرس وجهة يتجاوز حدود الجدول، مما يؤدي إلى إيقاف معالجة الإطار المعيب.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Zephyr

حجز

18/06/2026

إفشاء

17/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-391317

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!