Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: fix refcounting of iso_conn iso_conn_del() and iso_chan_del() have a race that results to double-put of iso_conn: [Task hdev->workqueue] [Task 2] iso_conn_del iso_chan_del iso_conn_hold_unless_zero iso_conn_lock iso_conn_lock conn->sk = NULL iso_conn_unlock sk = iso_sock_hold(conn) <---------´ if (!sk) iso_conn_put iso_conn_put iso_conn_put /* UAF */ The extra put for !sk in iso_conn_del() is currently required since failing iso_chan_add() may leave iso_conn not associated with any sk. Fix by having iso_pi(sk)->conn own refcount when non-NULL, so iso_conn_del does not need to put it. Adjust the iso_conn_add() refcounting so that conn is put if it does not get associated with an sk.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a58d0f5dac322e16cc75334d000666512341bde5 to < 42c8bd6ac81e21200bb90f1eaf43d19352eec6d7affecteddc26097bdb864a0d5955b9a25e43376ffc1af99b to < 3b921533e8aa95b77aadcf31737595578e735f3caffecteddc26097bdb864a0d5955b9a25e43376ffc1af99b to < 8208b4939afb0a1977fffe902c3ca42fe0f3baaaaffecteddc26097bdb864a0d5955b9a25e43376ffc1af99b to < fdfde532ab1caa165fcd8985001157ac8b4db365affectedf53e7489273dc2bb307bf50f319b3762d45534f0affected6.12.2 to < 6.12.113affected6.11.11 to < 6.12affected
Linux Linux
Default version status: affected
6.13affected0 to < 6.13unaffected6.12.113 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected