CVE-2026-10664 in zephyr
الملخص
بحسب VulDB • 12/07/2026
معالج أحداث توفير الطاقة في برنامج تشغيل Wi-Fi الخاص بـ nRF70، وهو الدالة `nrf_wifi_event_proc_get_power_save_info()` الموجودة في الملف `drivers/wifi/nrf_wifi/src/wifi_mgmt.c`، يقوم بنسخ إدخالات تدفق TWT (وقت الاستيقاظ المستهدف) من حدث `nrf_wifi_umac_event_power_save_info` إلى مصفوفة ذات حجم ثابت وهي `twt_flows[WIFI_MAX_TWT_FLOWS]` (تحتوي على 8 عناصر)، والتي تقع ضمن بنية بيانات `wifi_ps_config` يتم توفيرها بواسطة المتصل. وتتم عملية التكرار عبر عدد تدفقات TWT المقدم من الحدث (`num_twt_flows`) دون التحقق منه مقابل الحد الأقصى المسموح به `WIFI_MAX_TWT_FLOWS` أو مراجعة طول الحدث (`event_len`).
عندما يتجاوز `num_twt_flows` القيمة 8، يقوم المعالج بالكتابة خارج حدود مصفوفة الوجهة (والتي تكون عادةً على مكدس المتصل، مثل أمر shell الخاص بـ wifi ps) -- مما يشكل كتابة خارج النطاق (out-of-bounds write) لإدخالات TWT بحجم حوالي 40 بايت -- ويقوم بقراءة `twt_flow_info[i]` بعد نهاية مخزن الحدث. يتم تسليم هذا الحدث بواسطة برنامج تشغيل المعالج المتعايش nRF70 استجابةً لطلب GET خاص بتوفير الطاقة يبدأ من المضيف، لذا فإن الوصول إلى حالة تجاوز السعة يتطلب أن يصدر البرنامج الثابت حدثاً غير صالح أو خارج النطاق؛ حيث تكون حدود الثقة بين المضيف والمعالج المتعاوث الموثوق به (host-to-trusted-coprocessor) بدلاً من كونها كتابة مباشرة عن بعد عبر نقطة وصول لاسلكية، ويكون التأثير على عدد التدفقات عبر الهواء غير مباشر ومقيد بمساحة معرف تدفق TWT ذات 3 بتات.
المتأثر: الإصدارات التي تحتوي على `CONFIG_NRF70_STA_MODE` في الإصدارات حتى v4.4.0. الإصلاح يرفض الأحداث التي يكون فيها `num_twt_flows > WIFI_MAX_TWT_FLOWS` أو حيث يكون `event_len` أقصر من الإدخالات المطالبة بها، ويضيف فحصاً للقيمة NULL على مخزن المتصل.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.