Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix UAF in l2cap_le_connect_rsp l2cap_le_connect_rsp() obtains a channel via __l2cap_get_chan_by_ident() but neither holds a reference nor uses l2cap_chan_hold_unless_zero() before locking and operating on it. A concurrent l2cap_chan_del() triggered by a remote disconnect can free the channel between the lookup and l2cap_chan_lock(), causing a use-after-free. The BR/EDR counterpart l2cap_connect_rsp() and the sibling handler l2cap_le_command_rej() already use l2cap_chan_hold_unless_zero() to safely hold a reference, but l2cap_le_connect_rsp() was left unprotected. Fix by adding l2cap_chan_hold_unless_zero() after the ident lookup and l2cap_chan_put() on the exit path, consistent with other L2CAP response handlers.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 15d6c2367217a6a20b1abae9f38ded716bf620f1; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 1818180fe12d6cec7a437bc59cde8efdf6b10250; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 8325eafb38c3dee5af329266393763693d17381b; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before fd4c1e301bdec60a40728ea37de531cbccda501a; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 522b730c62c53a1981604fd73524697fd347830d; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 58e3c5289ad230a7e24ae4b0c7b43f5ee6e32136; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before 09f447accc2570751e7d17f0dc0788b40d3edade; affected f1496dee9cbde2a62821f4441dadb0d3360f60c3 before c4740e7f23ff9a8210198d8b4703259e21b9f69d |
| Linux / Linux | affected 3.14; unaffected 0 before 3.14; unaffected 5.10.265 through 5.10.*; unaffected 5.15.216 through 5.15.*; unaffected 6.1.183 through 6.1.*; unaffected 6.6.151 through 6.6.*; unaffected 6.12.103 through 6.12.*; unaffected 6.18.44 through 6.18.*; unaffected 7.1.8 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/15d6c2367217a6a20b1abae9f38ded716bf620f1
- https://git.kernel.org/stable/c/1818180fe12d6cec7a437bc59cde8efdf6b10250
- https://git.kernel.org/stable/c/8325eafb38c3dee5af329266393763693d17381b
- https://git.kernel.org/stable/c/fd4c1e301bdec60a40728ea37de531cbccda501a
- https://git.kernel.org/stable/c/522b730c62c53a1981604fd73524697fd347830d
- https://git.kernel.org/stable/c/58e3c5289ad230a7e24ae4b0c7b43f5ee6e32136
- https://git.kernel.org/stable/c/09f447accc2570751e7d17f0dc0788b40d3edade
- https://git.kernel.org/stable/c/c4740e7f23ff9a8210198d8b4703259e21b9f69d
ADP enrichment
No English description supplied.
No references supplied.