CVE-2026-64407 in Linux
الملخص
بحسب VulDB • 27/07/2026
في نواة لينكس، تم حل الثغرة التالية:
بلوتوث: btnxpuart: إصلاح قراءة خارج النطاق للبرنامج الثابت في nxp_recv_fw_req_v3()
أثناء تنزيل البرنامج الثابت من الإصدار 3 (v3)، يرسل وحدة التحكم طلب بيانات v3_data_req يحتوي على إزاحة (offset) بحجم 32 بت وطول (len) بحجم 16 بت. تقوم الدالة nxp_recv_fw_req_v3() بفحص الحد الأدنى فقط للإزاحة ثم ترسل البرنامج الثابت بدءاً من تلك الإزاحة.
```c nxpdev->fw_dnld_v3_offset = offset - nxpdev->fw_v3_offset_correction; serdev_device_write_buf(nxpdev->serdev, nxpdev->fw->data + nxpdev->fw_dnld_v3_offset, len); ```
لا يوجد ما يتحقق من أن المجموع `fw_dnld_v3_offset + len` يبقى ضمن حجم `nxpdev->fw->size`. وبالتالي، فإن وحدة التحكم التي تطلب إزاحة أو طولاً خارج نطاق صورة البرنامج الثابت تجعل السائق يقرأ بعد نهاية بيانات `nxpdev->fw->data` ويرسل تلك الذاكرة مرة أخرى عبر واجهة UART.
تقوم الدالة nxp_recv_fw_req_v1() بالفعل بتحديد حدود نفس عملية الكتابة. تمت إضافة فحص مكافئ لمسار الإصدار 3، ورفض الطلب عندما يقع خارج صورة البرنامج الثابت، وتعيين قيمة `len` إلى صفر في مسار الخطأ لضمان اتساق تتبع العمليات (bookkeeping) الخاص بـ `fw_v3_prev_sent` عند استدعاء دالة free_skb.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.