Bluetooth: hci_sock: fix slab oob read in create_monitor_event
authorEdward AD <twuufnxlz@gmail.com>
Tue, 10 Oct 2023 05:36:57 +0000 (13:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:16 +0000 (12:03 +0200)
commit 18f547f3fc074500ab5d419cf482240324e73a7e upstream.

When accessing hdev->name, the actual string length should prevail

Reported-by: syzbot+c90849c50ed209d77689@syzkaller.appspotmail.com
Fixes: dcda165706b9 ("Bluetooth: hci_core: Fix build warnings")
Signed-off-by: Edward AD <twuufnxlz@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/bluetooth/hci_sock.c

index 1d249d8..3cc66b2 100644 (file)
@@ -439,7 +439,7 @@ static struct sk_buff *create_monitor_event(struct hci_dev *hdev, int event)
                ni->type = hdev->dev_type;
                ni->bus = hdev->bus;
                bacpy(&ni->bdaddr, &hdev->bdaddr);
-               memcpy(ni->name, hdev->name, 8);
+               memcpy(ni->name, hdev->name, strlen(hdev->name));
 
                opcode = cpu_to_le16(HCI_MON_NEW_INDEX);
                break;