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

الملخص

بحسب VulDB • 26/10/2026

يُبنى خادم خدمة نقل الكائنات (Object Transfer Service) مؤشر استجابة نقطة التحكم في إجراءات الكائن (OACP) الخاص به داخل الدالة oacp_ind_send() (الملف subsys/bluetooth/services/ots/ots_oacp.c). قبل هذا الإصلاح، كان يُضاف حقل "قيمة التحقق من الصحة" ذي الأربعة بايتات بغض النظر عن رمز النتيجة، كلما كانت رمز العملية المطلوبة هو BT_GATT_OTS_OACP_PROC_CHECKSUM_CALC. حمولة الاستجابة عبارة عن مصفوفة متراصة (stack buffer) غير مهيأة وأحادية البُعد مكونة من أربعة بايات، مُعلَّنة باستخدام NET_BUF_SIMPLE_DEFINE(resp_param, sizeof(uint32_t)) في الدالة bt_gatt_ots_oacp_write()، ويتم ملؤها فقط عند المسار الناجح للدالة oacp_checksum_proc_validate(). في كل مسارات الفشل، تبقى المصفوفة فارغة، مما أدى إلى استدعاء net_buf_simple_pull_le32() على مصفوفة بطول صفر.

تم الإعلان عن خاصية OACP ووصيف تكوين الخاصية العميل (client characteristic configuration descriptor) باستخدام BT_GATT_PERM_WRITE وBT_GATT_PERM_READ | BT_GATT_PERM_WRITE، لذا لا تتطلب أي اقتران (pairing)، أو تشفير، أو مصادقة. يمكن لأي نظير ضمن نطاق الراديو قادر على الاتصال بجهاز يعمل بخادم OTS تمكين مؤشرات OACP وكتابة أمر "حساب التحقق من الصحة" المكون من تسعة بايتات يفشل في التحقق — على سبيل المثال عن طريق إصداره دون تحديد أي كائن، مما يعيد BT_GATT_OTS_OACP_RES_INV_OBJ. لأن دالة oacp_command_decode() تقبل رمز عملية حساب التحقق من الصحة بشكل غير مشروط (وليس محميًا بواسطة CONFIG_BT_OTS_OACP_CHECKSUM_SUPPORT)، فإن التكوينات المبنية بدون دعم التحقق من الصحة قابلة للوصول أيضًا: فهي ترد بـ BT_GATT_OTS_OACP_RES_OPCODE_NOT_SUP وتأخذ المسار الخاطئ نفسه.

في التكوينات التي يكون فيها CONFIG_ASSERT مفعلاً، يؤدي السحب ذو الطول الصفر إلى تفعيلAssertion داخل net_buf_simple_pull_mem() وإحداث توقف مفاجئ (panic) للجهاز، مما يسبب حجبًا للخدمة مُثار عن بُعد. في التكوينات المعطلةAssertions لا يوجد تحقق: يعيد السحب مصفوفة المتراصة غير الملموسة ويتم نسخ أربعة بايتات من ذاكرة المتراصة غير المهيأة إلى المؤشر وإرسالها للنظير، وهي عملية قابلة للتكرار مع كل طلب. يقتصر الإفصاح على أربعة بايتات لكل طلب ويبقى الكتابة داخل مؤشر الاستجابة ذي السبعة بايتات، لذا لا يوجد تلف في الذاكرة؛ التأثير هو إفشاء ذاكرة غير مهيأة بالإضافة إلى فقدان التوفر في التكوينات التي تحتويAssertions مُفعلة.

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

مسؤول

Zephyr

حجز

26/08/2026

إفشاء

26/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-426525

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!