In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_conn: fix CIS hold ownership on reuse Commit 69997d50ec57 ("Bluetooth: ISO: handle bound CIS cleanup via hci_conn") made hci_bind_cis() and hci_connect_cis() return a connection with one hold for the ISO layer. hci_bind_cis() currently takes that hold only after configuring a CIS, so its BT_CONNECTED and matching BT_BOUND paths return a bare lookup result. Its configuration failure path can likewise call hci_conn_drop() before taking a hold. Take the hold before any state-dependent return or configuration error so every successful return follows the documented ownership contract and every error drop is balanced. hci_connect_cis() also assumes hci_conn_link() always takes a new CIS hold before dropping the one returned by hci_bind_cis(). However, the helper returns an existing link without taking another hold. In that case, preserve the CIS hold for the caller and drop the redundant LE hold because the existing link already owns its parent hold. Returning early also avoids changing an existing CIS back to BT_CONNECT.
https://git.kernel.org/stable/c/e06d549fcd4a0ba381ed67ddf1ab3c7a6ca4314c
https://git.kernel.org/stable/c/947eb2f41f70d371eb16897ee4e8e32bff73b476
https://git.kernel.org/stable/c/3ff5a8d949e3a2a435d0a5ee05074cd371b0158a
https://git.kernel.org/stable/c/10f959cb435217b4b407864e5be0eb779e389490
https://git.kernel.org/stable/c/072bc8659f22566083f8eef7dc5903bbcaf7804a