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.
Product status
a0bfde167b506423111ddb8cd71930497a40fc54 (git) before 6cb7f67bc28da787499291a562d49a084d9c90cd
a0bfde167b506423111ddb8cd71930497a40fc54 (git) before 22559ad7654f61727fc270ee4893da9f4b70cf17
a0bfde167b506423111ddb8cd71930497a40fc54 (git) before 77981a507aa0fc001dc37f0dd6631dd2042fed17
a0bfde167b506423111ddb8cd71930497a40fc54 (git) before 665da0baaf0396f9ed3c86ccb3955dcd0b73e774
a0bfde167b506423111ddb8cd71930497a40fc54 (git) before 5ddb8014261137cadaf83ab5617a588d80a22586
b475c1109251e30ec21fb574d72a1c71a4ab0039 (git)
2ccde10127447c1a5caad8469fede945bdb62fdf (git)
6.4.16 (semver) before 6.5
6.5.3 (semver) before 6.6
6.6
Any version before 6.6
6.6.140 (semver)
6.12.88 (semver)
6.18.30 (semver)
7.0.7 (semver)
7.1-rc3 (original_commit_for_fix)
References
git.kernel.org/...c/6cb7f67bc28da787499291a562d49a084d9c90cd
git.kernel.org/...c/22559ad7654f61727fc270ee4893da9f4b70cf17
git.kernel.org/...c/77981a507aa0fc001dc37f0dd6631dd2042fed17
git.kernel.org/...c/665da0baaf0396f9ed3c86ccb3955dcd0b73e774
git.kernel.org/...c/5ddb8014261137cadaf83ab5617a588d80a22586