| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-42137: Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot |
| |
| Commit 272970be3dab ("Bluetooth: hci_qca: Fix driver shutdown on closed |
| serdev") will cause below regression issue: |
| |
| BT can't be enabled after below steps: |
| cold boot -> enable BT -> disable BT -> warm reboot -> BT enable failure |
| if property enable-gpios is not configured within DT|ACPI for QCA6390. |
| |
| The commit is to fix a use-after-free issue within qca_serdev_shutdown() |
| by adding condition to avoid the serdev is flushed or wrote after closed |
| but also introduces this regression issue regarding above steps since the |
| VSC is not sent to reset controller during warm reboot. |
| |
| Fixed by sending the VSC to reset controller within qca_serdev_shutdown() |
| once BT was ever enabled, and the use-after-free issue is also fixed by |
| this change since the serdev is still opened before it is flushed or wrote. |
| |
| Verified by the reported machine Dell XPS 13 9310 laptop over below two |
| kernel commits: |
| commit e00fc2700a3f ("Bluetooth: btusb: Fix triggering coredump |
| implementation for QCA") of bluetooth-next tree. |
| commit b23d98d46d28 ("Bluetooth: btusb: Fix triggering coredump |
| implementation for QCA") of linus mainline tree. |
| |
| The Linux kernel CVE team has assigned CVE-2024-42137 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.10.165 with commit e84ec6e25df9bb0968599e92eacedaf3a0a5b587 and fixed in 5.10.222 with commit 215a26c2404fa34625c725d446967fa328a703eb |
| Issue introduced in 5.15.90 with commit 908d1742b6e694e84ead5c62e4b7c1bfbb8b46a3 and fixed in 5.15.163 with commit 4ca6013cd18e58ac1044908c40d4006a92093a11 |
| Issue introduced in 6.1.8 with commit ea3ebda47dd56f6e1c62f2e0e1b6e1b0a973e447 and fixed in 6.1.98 with commit e6e200b264271f62a3fadb51ada9423015ece37b |
| Issue introduced in 6.2 with commit 272970be3dabd24cbe50e393ffee8f04aec3b9a8 and fixed in 6.6.39 with commit e2d8aa4c763593704ac21e7591aed4f13e32f3b5 |
| Issue introduced in 6.2 with commit 272970be3dabd24cbe50e393ffee8f04aec3b9a8 and fixed in 6.9.9 with commit 977b9dc65e14fb80de4763d949c7dec2ecb15b9b |
| Issue introduced in 6.2 with commit 272970be3dabd24cbe50e393ffee8f04aec3b9a8 and fixed in 6.10 with commit 88e72239ead9814b886db54fc4ee39ef3c2b8f26 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-42137 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/bluetooth/hci_qca.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/215a26c2404fa34625c725d446967fa328a703eb |
| https://git.kernel.org/stable/c/4ca6013cd18e58ac1044908c40d4006a92093a11 |
| https://git.kernel.org/stable/c/e6e200b264271f62a3fadb51ada9423015ece37b |
| https://git.kernel.org/stable/c/e2d8aa4c763593704ac21e7591aed4f13e32f3b5 |
| https://git.kernel.org/stable/c/977b9dc65e14fb80de4763d949c7dec2ecb15b9b |
| https://git.kernel.org/stable/c/88e72239ead9814b886db54fc4ee39ef3c2b8f26 |