Bluetooth: btusb: revert use of devm_kzalloc in btusb
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.15.198, 6.1.160, 6.6.120, 6.12.64, 6.18.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in fff9206b0907252a41eb12b7c1407b9347df18b1; From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in cca0e9206e3bcc63cd3e72193e60149165d493cc; From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in c0ecb3e4451fe94f4315e6d09c4046dfbc42090b; From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in 1e54c19eaf84ba652c4e376571093e58e144b339; From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in fdf7c640fb8a44a59b0671143d8c2f738bc48003; From 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 · fixed in 252714f1e8bdd542025b16321c790458014d6880
- Linux Linux
3.7
- KernelLinux
From 3.7.0 · fixed in 5.15.198; From 5.16.0 · fixed in 6.1.160; From 6.2.0 · fixed in 6.6.120; From 6.7.0 · fixed in 6.12.64; From 6.13.0 · fixed in 6.18.4