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

الملخص

بحسب VulDB • 27/07/2026

في برنامج تشغيل Synopsys DesignWare I2C (`drivers/i2c/i2c_dw.c`) عند العمل في وضع الهدف/العبدة (target/slave mode)، يقوم معالج مقاطعة `rx_full` بتقييد استدعاء الدالة `write_requested()` بشرط أن يكون `dw->state != CMD_SEND`. ولا يتم إعادة تعيين قيمة `dw->state` إلى `READY` إلا عند حدوث مقاطعة STOP. لم تتم إضافة مقاطعة START_DET، التي كان من المفترض أن يعيد معالجها (في دالة `i2c_dw_slave_read_clear_intr_bits()`) ضبط الحالة في كل مرة يحدث فيها بدء تشغيل أو إعادة تشغيل ((re)START)، إلى قناع المقاطعات المفعّلة (`enabled interrupt mask`) داخل الدالة `i2c_dw_slave_register()`؛ مما جعل مسار التعافي هذا عبارة عن كود ميت (dead code).

نتيجة لذلك، إذا ضاعت مقاطعة STOP (بسبب عطل في الناقل أو إعادة تعيين، أو بسبب قيام سيد متزامن بالقيادة على ناقل STOP)، أو أصدر سيد الناقل تسلسلاً قانونياً من نوع WRITE-repeated-START-WRITE بنفس الاتجاه، يبقى برنامج التشغيل في حالة `CMD_SEND` بشكل دائم ولا يستدعي `write_requested()` مرة أخرى طوال عمر الهدف.

يمكن لسيد I2C موجود على نفس الناقل الفيزيائي أن يحفز هذا الخطأ عمداً، مما يتسبب في تعطل وظيفة هدف I2C لجميع معاملات الكتابة اللاحقة وإخراج حالة إطار عمل المستهلك من التزامن (مثل MCTP-over-I2C)، وهو ما يشكل هجوماً بحجب الخدمة قابل للاستعادة عن طريق إعادة التعيين للوحدة الطرفية المستهدفة.

تتمثل الإصلاحات في إلغاء قناع مقاطعة START_DET بحيث يتم إعادة تعيين الحالة عند كل بدء تشغيل أو إعادة تشغيل ((re)START) على الناقل. يقتصر التأثير على التوافرية فقط عبر ناقل محلي على مستوى اللوحة؛ ولا ينتج عن ذلك أي تلف للذاكرة في المستهلك الموجود داخل الشجرة البرمجية (in-tree consumer)، حيث أن كتابة المخزن المؤقت لكل بايت تخضع لفحص حدود مستقل.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Zephyr

حجز

02/06/2026

إفشاء

27/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-383543

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Want to know what is going to be exploited?

We predict KEV entries!