Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_conn: fix potential UAF in create_big_sync Add hci_conn_valid() check in create_big_sync() to detect stale connections before proceeding with BIG creation. Handle the resulting -ECANCELED in create_big_complete() and re-validate the connection under hci_dev_lock() before dereferencing, matching the pattern used by create_le_conn_complete() and create_pa_complete(). Keep the hci_conn object alive across the async boundary by taking a reference via hci_conn_get() when queueing create_big_sync(), and dropping it in the completion callback. The refcount and the lock are complementary: the refcount keeps the object allocated, while hci_dev_lock() serializes hci_conn_hash_del()'s list_del_rcu() on hdev->conn_hash, as required by hci_conn_del(). hci_conn_put() is called outside hci_dev_unlock() so the final put (which resolves to kfree() via bt_link_release) does not run under hdev->lock, though the release path would be safe either way. Without this, create_big_complete() would unconditionally dereference the conn pointer on error, causing a use-after-free via hci_connect_cfm() and hci_conn_del().
Product status
eca0ae4aea66914515e5e3098ea051b518ee5316 (git) before 6823f730bf195fc296d9edd09e2ca94bc1ff5584
eca0ae4aea66914515e5e3098ea051b518ee5316 (git) before 1750a2df0eab61dc421a7afae74abdd239a44b85
eca0ae4aea66914515e5e3098ea051b518ee5316 (git) before dc34f8d8240f25dd137dc2758ebbcc75e3779142
eca0ae4aea66914515e5e3098ea051b518ee5316 (git) before f8eaf92c57ad99358dd372580d5ff87623343a72
eca0ae4aea66914515e5e3098ea051b518ee5316 (git) before 0beddb0c380bed5f5b8e61ddbe14635bb73d0b41
6.0
Any version before 6.0
6.6.140 (semver)
6.12.90 (semver)
6.18.32 (semver)
7.0.7 (semver)
7.1-rc3 (original_commit_for_fix)
References
git.kernel.org/...c/6823f730bf195fc296d9edd09e2ca94bc1ff5584
git.kernel.org/...c/1750a2df0eab61dc421a7afae74abdd239a44b85
git.kernel.org/...c/dc34f8d8240f25dd137dc2758ebbcc75e3779142
git.kernel.org/...c/f8eaf92c57ad99358dd372580d5ff87623343a72
git.kernel.org/...c/0beddb0c380bed5f5b8e61ddbe14635bb73d0b41