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

الملخص

بحسب VulDB • 27/07/2026

يقوم المُحقِّق الموجود في مساحة المستخدم z_vrfy_log_filter_set() الخاص باستدعاء النظام log_filter_set في الملف subsys/logging/log_mgmt.c بإجراء مقارنة موقَّعة (signed comparison) مع المعلمة src_id من النوع int16_t: src_id < (int16_t)log_src_cnt_get(domain_id). أي قيمة سالبة لـ src_id (مثل -1) تفي بسهولة بهذا الفحص وتُمرَّر إلى z_impl_log_filter_set، حيث تنتقل إلى filter_set() وأخيراً إلى get_dynamic_filter()، والتي تستخدم source_id كمؤشر غير موقَّع في مصفوفة قسم الرابط &TYPE_SECTION_START(log_dynamic)[source_id].filters.

بعد التحويل الضمني عبر uint32_t، تتحول القيمة int16_t -1 إلى 0xFFFFFFFF، مما يؤدي إلى فهرسة log_dynamic خارج الحدود بشكل كبير وتسبب نواة النظام (kernel) في إجراء قراءة من الذاكرة خارج النطاق (OOB read) وقراءة-تعديل-كتابة خارج النطاق (LOG_FILTER_SLOT_GET/SET) ضد الذاكرة المجاورة لقسم log_dynamic.

القيمة المكتوبة هي شريحة مستوى سجل مكونة من 3 بتات ضمن الكلمة المستهدفة المكونة من 32 بتاً، لكن العنوان الهدف مختار من قبل المهاجم (إزاحة سالبة صغيرة من log_dynamic) وتحدث الكتابة في وضع المشرف بعد استدعاء نظام (syscall) صادر عن خيط مستخدم غير مميَّز الصلاحيات، مما يوفر آلية أساسية لفساد ذاكرة النواة / تصعيد الامتيازات.

يمكن الوصول إلى العطل في أي بناء يحتوي على CONFIG_USERSPACE=y وCONFIG_LOG_RUNTIME_FILTERING=y. موجود من Zephyr v3.3.0 حتى v4.4.1. يستبدل الإصلاح فحص الحدود الموقَّع بمقارنة غير موقعة: (uint32_t)src_id < log_src_cnt_get(domain_id)، مما يرفض المدخلات السالبة بشكل صحيح.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Zephyr

حجز

02/06/2026

إفشاء

27/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383540

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!