Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: SCO: hold sk properly in sco_conn_ready sk deref in sco_conn_ready must be done either under conn->lock, or holding a refcount, to avoid concurrent close. conn->sk and parent sk is currently accessed without either, and without checking parent->sk_state: [Task 1] [Task 2] sco_sock_release sco_conn_ready sk = conn->sk lock_sock(sk) conn->sk = NULL lock_sock(sk) release_sock(sk) sco_sock_kill(sk) UAF on sk deref and similarly for access to sco_get_sock_listen() return value. Fix possible UAF by holding sk refcount in sco_conn_ready() and making sco_get_sock_listen() increase refcount. Also recheck after lock_sock that the socket is still valid. Adjust conn->sk locking so it's protected also by lock_sock() of the associated socket if any.
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
27c24fda62b601d6f9ca5e992502578c4310876f to < 50aae396dc30377bec8e3b181b8346f8fd38f7d8affected27c24fda62b601d6f9ca5e992502578c4310876f to < 6e3840578aaad1a296aab1eaaa89ea3b7d5cbae1affected27c24fda62b601d6f9ca5e992502578c4310876f to < d141d9b769bcd1b747898528c5023270cda040f2affected27c24fda62b601d6f9ca5e992502578c4310876f to < 73cb063f5ec6ca51eb1e246c6d332563002ac277affected27c24fda62b601d6f9ca5e992502578c4310876f to < 7199c78c3a3e399a4dc439d845826793880ccedcaffected27c24fda62b601d6f9ca5e992502578c4310876f to < 4e37f6452d586b95c346a9abdd2fb80b67794f39affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected5.15.212 to ≤ 5.15.*unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/50aae396dc30377bec8e3b181b8346f8fd38f7d8 ↗
- https://git.kernel.org/stable/c/6e3840578aaad1a296aab1eaaa89ea3b7d5cbae1 ↗
- https://git.kernel.org/stable/c/d141d9b769bcd1b747898528c5023270cda040f2 ↗
- https://git.kernel.org/stable/c/73cb063f5ec6ca51eb1e246c6d332563002ac277 ↗
- https://git.kernel.org/stable/c/7199c78c3a3e399a4dc439d845826793880ccedc ↗
- https://git.kernel.org/stable/c/4e37f6452d586b95c346a9abdd2fb80b67794f39 ↗