PT-2026-50394 · Zephyr · Zephyr
CVSS v3.1
7.1
عالية
| المتجه | AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H |
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Zephyr من 1.7 إلى 4.4.0
الوصف
يحتوي محلل دور «Hands-Free» في ملف تعريف «Bluetooth Classic Hands-Free Profile» (HFP) الموجود في
subsys/bluetooth/host/classic/hfp hf.c على عملية كتابة خارج نطاق الذاكرة. أثناء إعداد اتصال مستوى الخدمة (Service Level Connection)، ترسل وحدة «التحرر من استخدام اليدين» (Hands-Free: HF) الأمر AT+CIND=? وتقوم بتحليل استجابة بوابة المرافق (Attendant Gateway: AG) في الدالة cind handle()، التي تخصص مؤشر عداد لكل إدخال وتستدعي الدالة cind handle values() لكل عنصر في القائمة. تقوم الدالة cind handle values() بالكتابة إلى hf-ind table[index] دون التحقق من أن index يقع ضمن مصفوفة int8 t ind table[] المكونة من 20 عنصرًا في struct bt hfp hf. نظرًا لأن المحلل لا يحدد عدد إدخالات قائمة +CIND:، يمكن لبوابة Attendant Gateway عن بُعد إرسال استجابة تحتوي على أكثر من 20 إدخالًا لزيادة قيمة index بشكل تعسفي. وهذا يسمح بكتابة قيم تتجاوز المصفوفة في حقول البنية المجاورة، مثل أقنعة الميزات، وحالة SDP/الإصدار، ومصفوفة calls[]، وسجلات العمل/العمليات الذرية، مما قد يؤدي إلى تجاوز فتحة تجمع الاتصالات الثابتة. ينتج عن ذلك تلف في الذاكرة ورفض خدمة مضيف Bluetooth، ويتم تشغيله بواسطة استجابة AT واحدة مشوهة دون تدخل من المستخدم.التوصيات
قم بتحديث Zephyr إلى إصدار أحدث من 4.4.0.
كحل مؤقت، قم بتعطيل
CONFIG BT HFP HF لتقليل مخاطر الاستغلال.استغلال
إصلاح
DoS
Memory Corruption
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾
تصنيف نقاط الضعف
المعرّفات ذات الصلة
المنتجات المتأثرة
Zephyr