8.1
/ 10
HIGH
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_event: Fix OOB read and infinite loop in hci_le_create_big_complete_evt
hci_le_create_big_complete_evt() iterates over BT_BOUND connections for
a BIG handle using a while loop, accessing ev->bis_handle[i++] on each
iteration. However, there is no check that i stays within ev->num_bis
before the array access.
When a controller sends a LE_Create_BIG_Complete event with fewer
bis_handle entries than there are BT_BOUND connections for that BIG,
or with num_bis=0, the loop reads beyond the valid bis_handle[] flex
array into adjacent heap memory. Since the out-of-bounds values
typically exceed HCI_CONN_HANDLE_MAX (0x0EFF), hci_conn_set_handle()
rejects them and the connection remains in BT_BOUND state. The same
connection is then found again by hci_conn_hash_lookup_big_state(),
creating an infinite loop with hci_dev_lock held.
Fix this by terminating the BIG if in case not all BIS could be setup
properly.
Bluetooth: hci_event: Fix OOB read and infinite loop in hci_le_create_big_complete_evt
hci_le_create_big_complete_evt() iterates over BT_BOUND connections for
a BIG handle using a while loop, accessing ev->bis_handle[i++] on each
iteration. However, there is no check that i stays within ev->num_bis
before the array access.
When a controller sends a LE_Create_BIG_Complete event with fewer
bis_handle entries than there are BT_BOUND connections for that BIG,
or with num_bis=0, the loop reads beyond the valid bis_handle[] flex
array into adjacent heap memory. Since the out-of-bounds values
typically exceed HCI_CONN_HANDLE_MAX (0x0EFF), hci_conn_set_handle()
rejects them and the connection remains in BT_BOUND state. The same
connection is then found again by hci_conn_hash_lookup_big_state(),
creating an infinite loop with hci_dev_lock held.
Fix this by terminating the BIG if in case not all BIS could be setup
properly.
Basic Information
ID
CVE-2026-46138
Source
Linux
Published
May 28, 2026 at 09:35
Modified
May 30, 2026 at 10:48
Affected Product
Vendor
Linux
Product
Linux
Version
a0bfde167b506423111ddb8cd71930497a40fc54
Affected Versions
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux b475c1109251e30ec21fb574d72a1c71a4ab0039
Linux Linux 2ccde10127447c1a5caad8469fede945bdb62fdf
Linux Linux 6.4.16
Linux Linux 6.5.3
Linux Linux 6.6
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux a0bfde167b506423111ddb8cd71930497a40fc54
Linux Linux b475c1109251e30ec21fb574d72a1c71a4ab0039
Linux Linux 2ccde10127447c1a5caad8469fede945bdb62fdf
Linux Linux 6.4.16
Linux Linux 6.5.3
Linux Linux 6.6
References
- git.kernel.org /stable/c/6cb7f67bc28da787499291a562d49a084d9c90cd
- git.kernel.org /stable/c/22559ad7654f61727fc270ee4893da9f4b70cf17
- git.kernel.org /stable/c/77981a507aa0fc001dc37f0dd6631dd2042fed17
- git.kernel.org /stable/c/665da0baaf0396f9ed3c86ccb3955dcd0b73e774
- git.kernel.org /stable/c/5ddb8014261137cadaf83ab5617a588d80a22586