D3Z

#38501من 60,463
7.8إجمالي CVSS
الثغرات · 1
PT-2026-144853
2026-11-10
7.8
CVE-2026-90833
Zephyr Os
Zephyr Os
يحتوي برنامج تشغيل EEPROM المحاكي على تجاوز في عدد صحيح (integer overflow) في الدالة `eeprom range is valid()` ضمن الملف `drivers/eeprom/eeprom simulator.c`. تستخدم عملية التحقق `(offset + len) <= config->size` نوع `off t` موقعًا لـ `offset` ونوع `size t` غير موقع لـ `len`. يؤدي ذلك إلى تقييم عملية الجمع باستخدام الحساب غير الموقع، مما يسمح لـ `offset` سالب مع `len` كبير بالتفاف القيمة (wrap around) واجتياز فحص النطاق. نتيجة لذلك، يمكن لـ `eeprom sim read()` و `eeprom sim write()` تنفيذ عمليات `memcpy()` على ذاكرة تقع قبل مصفوفة `mock eeprom` عبر حسابات المؤشرات. بما أن `eeprom read()` و `eeprom write()` هما نقطتا دخول لاستدعاءات النظام ولا تقومان بالتحقق من وسيط `offset` ، يمكن لخيط (thread) غير مميز في إصدار مفعل به `CONFIG USERSPACE=y` ومثيل `CONFIG EEPROM SIMULATOR` تحفيز هذا السلوك. يتيح ذلك للمهاجم إجراء عمليات قراءة خارج الحدود لذاكرة `.bss` الخاصة بالنواة أو عمليات كتابة خارج الحدود في ذاكرة النواة التي تسبق مصفوفة `mock eeprom` ، مما قد يؤدي إلى فساد حالة النواة والهروب من صندوق الرمل (sandbox) الخاص بوضع المستخدم.