Description
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: L2CAP: Fix accepting multiple L2CAP_ECRED_CONN_REQ
Currently the code attempts to accept requests regardless of the
command identifier which may cause multiple requests to be marked
as pending (FLAG_DEFER_SETUP) which can cause more than
L2CAP_ECRED_MAX_CID(5) to be allocated in l2cap_ecred_rsp_defer
causing an overflow.
The spec is quite clear that the same identifier shall not be used on
subsequent requests:
'Within each signaling channel a different Identifier shall be used
for each successive request or indication.'
https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-62/out/en/host/logical-link-control-and-adaptation-protocol-specification.html#UUID-32a25a06-4aa4-c6c7-77c5-dcfe3682355d
So this attempts to check if there are any channels pending with the
same identifier and rejects if any are found.
Affected products and versions
| Product |
Affected versions |
Fixed in |
|
Linux
7.0
|
earliest → < 7.0
|
7.0
|
|
Linux
6.19
|
earliest → < 6.19.10
|
6.19.10
|
|
Linux
6.18
|
earliest → < 6.18.20
|
6.18.20
|
|
Linux
6.12
|
earliest → < 6.12.78
|
6.12.78
|
|
Linux
6.6
|
earliest → < 6.6.130
|
6.6.130
|
|
Linux
6.1
|
earliest → < 6.1.167
|
6.1.167
|
|
Linux
5.15
|
earliest → < 5.15.203
|
5.15.203
|
|
Linux
5.10
|
earliest → < 5.10.253
|
5.10.253
|
|
Linux
|
5.7
|
No fix stated
|
Show the other branch
Hide the other branch