CVE-2023-54210

Summary

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor()

KASAN reports that there's a use-after-free in hci_remove_adv_monitor(). Trawling through the disassembly, you can see that the complaint is from the access in bt_dev_dbg() under the HCI_ADV_MONITOR_EXT_MSFT case. The problem case happens because msft_remove_monitor() can end up freeing the monitor structure. Specifically: hci_remove_adv_monitor() -> msft_remove_monitor() -> msft_remove_monitor_sync() -> msft_le_cancel_monitor_advertisement_cb() -> hci_free_adv_monitor()

Let's fix the problem by just stashing the relevant data when it's still valid.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c < 0d4d6b083da9b033ddccef72d77f373c819ae3eaaffected
LinuxLinux7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c < bf00c2c8f6254f44ac041aa9a311ae9e0caf692baffected
LinuxLinux7cf5c2978f23fdbb2dd7b4e8b07e362ae2d8211c < de6dfcefd107667ce2dbedf4d9337f5ed557a4a1affected
LinuxLinux6.0affected
LinuxLinux0 < 6.0unaffected
LinuxLinux6.1.42 <= 6.1.*unaffected
LinuxLinux6.4.7 <= 6.4.*unaffected
LinuxLinux6.5 <= *unaffected

Weaknesses

References