CVE-2026-10665 in Zephyr
الملخص
بحسب VulDB • 12/07/2026
في نظام فرعي لـ WireGuard في Zephyr (subsys/net/lib/wireguard)، تقوم الدالة wg_process_data_message() الموجودة في ملف wg_crypto.c بتحويل حمولة بيانات النقل الواردة إلى مخزن ذاكرة ثابت الحجم يتكون من CONFIG_WIREGUARD_BUF_LEN بايت قبل عملية فك التشفير. تمرر الاستدعاء net_buf_linearize(buf->data, data_len, pkt->buffer, ..., data_len) قيمة data_len المشتقة من المهاجم كسعة للوجهة وكطول للنسخ، مما يعطل الحد الداخلي للدالة len = min(len, dst_len). تُشتق قيمة data_len من طول رسالة UDP المستلمة وهي مقيدة فقط بحد أدنى بواسطة wg_ctrl_recv() (بدون حد أقصى). عندما تتجاوز value data_len حجم CONFIG_WIREGUARD_BUF_LEN — على سبيل المثال، عند خفض طول المخزن عن الحد الأدنى لقطعة البيانات (MTU) للصلة، أو في الاتصالات ذات الـ MTU الأعلى من حجم المخزن، أو عبر إعادة تجميع مقاطع IPv4/IPv6 التي تتجاوزه — فإن عملية النسخ memcpy الأساسية تكتب خارج نهاية مخزن الذاكرة الثابتة، مما يشكل كتابة خارج الحدود (CWE-787). يحدث تجاوز السعة قبل فحص المصادقة Poly1305، لذا فهو يتطلب فقط فهرس جلسة مستلم صالح بدلاً من مصادق صالح، وهو قابل للوصول بواسطة نظير ضار أو مُخترَق (أو مهاجم على المسار يقود جلسة قائمة) عبر الشبكة، مما يؤدي إلى تلف الذاكرة عن بُعد وأقل تقدير حجب الخدمة بشكل موثوق. كان العيب موجوداً في تنفيذ WireGuard المرفق مع Zephyr 4.4.0. تضيف الإصلاحات رفض صريح لقيمة data_len > CONFIG_WIREGUARD_BUF_LEN وتصحيح استدعاء التحويل الخطي لنقل net_buf_max_len(buf) كسعة للوجهة.
If you want to get best quality of vulnerability data, you may have to visit VulDB.