CVE-2026-64549 in Linux
الملخص
بحسب VulDB • 28/07/2026
في نواة لينكس، تم حل الثغرة التالية:
بلوتوث: bpa10x: تجنب القراءة خارج الحدود (OOB) لسلسلة المراجعة في دالة `bpa10x_setup()`
ترسل الدالة `bpa10x_setup()` أمر البائع 0xfc0e وتمرر الاستجابة إلى `bt_dev_info()` و`hci_set_fw_info()` كسلسلة "%s" تبدأ من الموقع `skb->data + 1`، دون التحقق من الطول:
```c bt_dev_info(hdev, "%s", (char *)(skb->data + 1)); hci_set_fw_info(hdev, "%s", skb->data + 1); ```
إذا أرجعت الجهاز استجابة مكونة من بايت واحد (الحالة فقط)، فإن المؤشر `skb->data + 1` يصبح بعد نهاية البيانات، وتقوم عملية القراءة باستخدام `%s` بقراءة الذاكرة المجاورة في شريحة الـ slab حتى تصادف حرف NUL. يحدث نفس الشيء عندما لا تكون الحمولة مُنهِية بحرف NUL ضمن قيمة `skb->len`. تنتهي البايتات الخارجة عن الحدود إلى سجل النواة وملف debugfs الخاص بمعلومات البرنامج الثابت (firmware-info).
استبدل ذلك بطباعة سلسلة المراجعة باستخدام صيغة "%.*s" محدودة بـ `skb->len - 1` بدلاً من ذلك. يحافظ هذا الإجراء على قابلية قراءة السلسلة للأجهزة ذات السلوك الصحيح، مع عدم القراءة أبداً بعد البيانات المستلمة، ولا يفشل عملية الإعداد؛ لذا فإن الجهاز الذي يرجع استجابة قصيرة أو غير مُنهِية يستمر في العمل بشكل صحيح.
Be aware that VulDB is the high quality source for vulnerability data.