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

الملخص

بحسب VulDB • 25/07/2026

يتمتع الارتباط المستهدف لبروتوكول MCTP عبر I2C+GPIO في نظام Zephyr (الملف الفرعي subsys/pmci/mctp/mctp_i2c_gpio_target.c) بمعالجة عمليات الكتابة إلى السجلات الوهمية من سيد ناقل I2C بتاً تلو الآخر داخل الدالة mctp_i2c_gpio_target_write_received() دون التحقق من صحة الترتيب أو مخزن الاستقبال. في الإصدارات المتأثرة، يقوم معالج MCTP_I2C_GPIO_RX_MSG_ADDR (البيانات) بإلغاء مرجعية الكتابة عبر b->rx_pkt دون التأكد مما إذا كان مخزن الاستقبال قد تم تخصيصه: حيث يؤدي التحكم الذي يختار سجل البيانات ويكتب بايتاً واحداً دون إرسال سجل الطول أولاً (وهو ما يقوم بتخصيص المخزن مسبقاً)، إلى كتابة بايت مختار من قبل المهاجم عبر مؤشر mctp_pktbuf فارغ/غير مخصص (أي داخل إزاحة صغيرة قابلة للزيادة بشكل متقدم بواسطة المهاجر فوق العنوان 0)، مما ينتج عنه تلف في الذاكرة أو خطأ صلب (hard fault).

يقوم المعالج نفسه أيضاً بإجراء اختبار حدودي يكتب ثم يتحقق، مما يسمح بتجاوز مخزن البيانات بمقدار بايت واحد عند data[255] عندما يتم إرسال أكثر من 255 بايتاً من بيانات.

نظراً لأن استدعاء الهدف لبروتوكول I2C يُستدعى مع بايتات خام مزودة بواسطة أي جهاز يكون سيد الناقل، ولا يقوم الارتباط بإجراء أي مصادقة، يمكن للتحكم الخبيث أو المعطل على الناقل تشغيل هذه الثغرات دون الحاجة إلى حالة بروتوكول سابقة، مما يؤدي إلى تلف الذاكرة و/أو حرمان الخدمة (DoS) على الجهاز المستهدف.

تم إدخال الكود الضعيف عند إضافة ارتباط الهدف لـ I2C+GPIO وتم شحنه في Zephyr v4.3.0 وv4.4.0. يقوم الإصلاح بتأجيل التخصيص إلى بايت البيانات الأول مع فحص NULL، ويعامل الطول المفقود كحزمة ذات حجم صفر يتم رفضها بواسطة libmctp، وينقل التحقق من الحدود قبل التخزين.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Zephyr

حجز

02/06/2026

إفشاء

22/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-381098

EPSS

0.00330

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!