Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: revert use of devm_kzalloc in btusb This reverts commit 98921dbd00c4e ("Bluetooth: Use devm_kzalloc in btusb.c file"). In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This ties the lifetime of all the btusb data to the binding of a driver to one interface, INTF. In a driver that binds to other interfaces, ISOC and DIAG, this is an accident waiting to happen. The issue is revealed in btusb_disconnect(), where calling usb_driver_release_interface(&btusb_driver, data->intf) will have devm free the data that is also being used by the other interfaces of the driver that may not be released yet. To fix this, revert the use of devm and go back to freeing memory explicitly.
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
98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < fff9206b0907252a41eb12b7c1407b9347df18b1affected98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < cca0e9206e3bcc63cd3e72193e60149165d493ccaffected98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < c0ecb3e4451fe94f4315e6d09c4046dfbc42090baffected98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < 1e54c19eaf84ba652c4e376571093e58e144b339affected98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < fdf7c640fb8a44a59b0671143d8c2f738bc48003affected98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 to < 252714f1e8bdd542025b16321c790458014d6880affected
Linux Linux
Default version status: affected
3.7affected0 to < 3.7unaffected5.15.198 to ≤ 5.15.*unaffected6.1.160 to ≤ 6.1.*unaffected6.6.120 to ≤ 6.6.*unaffected6.12.64 to ≤ 6.12.*unaffected6.18.4 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fff9206b0907252a41eb12b7c1407b9347df18b1 ↗
- https://git.kernel.org/stable/c/cca0e9206e3bcc63cd3e72193e60149165d493cc ↗
- https://git.kernel.org/stable/c/c0ecb3e4451fe94f4315e6d09c4046dfbc42090b ↗
- https://git.kernel.org/stable/c/1e54c19eaf84ba652c4e376571093e58e144b339 ↗
- https://git.kernel.org/stable/c/fdf7c640fb8a44a59b0671143d8c2f738bc48003 ↗
- https://git.kernel.org/stable/c/252714f1e8bdd542025b16321c790458014d6880 ↗