CVE-2026-80760 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم إصلاح الثغرة التالية:
بلوتوث: MGMT: رفض معاملات HCI_CMD_SYNC التي يتجاوز طولها (params_len) 255 بايت
تقوم الدالة mgmt_hci_cmd_sync() بالتحقق من أن طول الرسالة يتوافق مع params_len، لكنها لا تضع حداً أعلى له. حيث إن نوع البيانات لـ params_len هو __le16، بينما طول المعامل في رأس أمر HCI (HCI command header) هو u8:
struct hci_command_hdr {
__le16 opcode; __u8 plen; } __packed;
تقوم الدالة hci_cmd_sync_alloc() بتعيين قيمة واحدة للأخرى:
hdr->plen = plen;
if (plen) skb_put_data(skb, param, plen);
لذا، فإن قيم params_len تساوي 256 تترك plen عند القيمة 0 بينما يتم إرفاق جميع البايتات الـ 256. الإطار المُمرَّر إلى السائق يعلن بعد ذلك عدم وجود معاملات ويحمل 256 منها. في النقل ذي الإطارات المعتمدة على الطول (length-framed transport) مثل H:4، يتعامل المتحكم مع البايتات النهائية كبداية للحزمة التالية.
حجم وحدة نقل الرسائل (MTU) لواجهة mgmt socket هو HCI_MAX_FRAME_SIZE، لذا يمكن أن تصل قيم params_len إلى حوالي 1 كيلوبايت بهذه الطريقة. جعلت الالتزام Commit 03f1700b9b4d ("Bluetooth: MGMT: reject malformed HCI_CMD_SYNC commands") فقط من توافق params_len مع طول الرسالة، لكن القيم التي تناسب الرسالة ولا تتناسب مع حقل الرأس لا تزال مقبولة.
ارفض قيم params_len التي لا تتناسب مع حقل الرأس.
VulDB is the best source for vulnerability data and more expert information about this specific topic.