Skip to content
OpenAdvisories
High · 7.8 CVE-2022-48878 EUVD-2022-53757GHSA-wcc4-c252-rxxr

Bluetooth: hci_qca: Fix driver shutdown on closed serdev

Published Aug 21, 2024 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-bluefield Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

Bluetooth: hci_qca: Fix driver shutdown on closed serdev

The driver shutdown callback (which sends EDL_SOC_RESET to the device
over serdev) should not be invoked when HCI device is not open (e.g. if
hci_dev_open_sync() failed), because the serdev and its TTY are not open
either. Also skip this step if device is powered off
(qca_power_shutdown()).

The shutdown callback causes use-after-free during system reboot with
Qualcomm Atheros Bluetooth:

Unable to handle kernel paging request at virtual address
0072662f67726fd7
...
CPU: 6 PID: 1 Comm: systemd-shutdow Tainted: G W
6.1.0-rt5-00325-g8a5f56bcfcca #8
Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT)
Call trace:
tty_driver_flush_buffer+0x4/0x30
serdev_device_write_flush+0x24/0x34
qca_serdev_shutdown+0x80/0x130 [hci_uart]
device_shutdown+0x15c/0x260
kernel_restart+0x48/0xac

KASAN report:

BUG: KASAN: use-after-free in tty_driver_flush_buffer+0x1c/0x50
Read of size 8 at addr ffff16270c2e0018 by task systemd-shutdow/1

CPU: 7 PID: 1 Comm: systemd-shutdow Not tainted
6.1.0-next-20221220-00014-gb85aaf97fb01-dirty #28
Hardware name: Qualcomm Technologies, Inc. Robotics RB5 (DT)
Call trace:
dump_backtrace.part.0+0xdc/0xf0
show_stack+0x18/0x30
dump_stack_lvl+0x68/0x84
print_report+0x188/0x488
kasan_report+0xa4/0xf0
__asan_load8+0x80/0xac
tty_driver_flush_buffer+0x1c/0x50
ttyport_write_flush+0x34/0x44
serdev_device_write_flush+0x48/0x60
qca_serdev_shutdown+0x124/0x274
device_shutdown+0x1e8/0x350
kernel_restart+0x48/0xb0
__do_sys_reboot+0x244/0x2d0
__arm64_sys_reboot+0x54/0x70
invoke_syscall+0x60/0x190
el0_svc_common.constprop.0+0x7c/0x160
do_el0_svc+0x44/0xf0
el0_svc+0x2c/0x6c
el0t_64_sync_handler+0xbc/0x140
el0t_64_sync+0x190/0x194

Affected products

VendorProductAffectedFixed
Linux Linux 5.8 5.10.165

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.1.8-1 —
Debian 13 linux 6.1.8-1 —
Debian 12 linux 6.1.8-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1015.17 —
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux +1 5.15.0-70.77 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1034.38 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1036.43 —
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1036.43.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1032.40 —
Ubuntu 22.04 LTS linux-gke +1 5.15.0-1031.36 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1018.23 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1028.31 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1028.33 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1023.23 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1033.39 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1027.29 —
Ubuntu 22.04 LTS linux-riscv +30 No fix yet —
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1034.38~20.04.1 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1036.43~20.04.1 —
Ubuntu 20.04 LTS linux-azure-fde-5.15 5.15.0-1036.43~20.04.1.1 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1032.40~20.04.1 —
Ubuntu 20.04 LTS linux-gke +26 No fix yet —
Ubuntu 20.04 LTS linux-gkeop-5.15 5.15.0-1018.23~20.04.1 —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-70.77~20.04.1 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1030.35~20.04.1 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1033.39~20.04.1 —
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1031.35~20.04.1 —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1024.29 —
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1036.39 —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +4 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLES 15 SP5 kernel-azure +2 5.14.21-150500.33.66.1 SUSE-SU-2024:3190-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
SLES 15 SP5 kernel-syms +1 5.14.21-150500.55.80.1 SUSE-SU-2024:3483-1
SLES 15 SP4 kernel-64kb +4 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SLES 15 SP4 kernel-docs +1 5.14.21-150400.24.133.1 SUSE-SU-2024:3408-1
Show 10 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SLES for SAP 15 SP4 kernel-docs +1 5.14.21-150400.24.133.1 SUSE-SU-2024:3408-1
SLES for SAP 15 SP4 kernel-source +2 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLE Micro 5.5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.91.3 SUSE-SU-2024:3227-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.91.3 SUSE-SU-2024:3227-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_19 +1 1-150500.11.3.2 SUSE-SU-2024:3483-1, SUSE-SU-2024:3209-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_31 1-150400.9.3.2 SUSE-SU-2024:3408-1
SLE HPC 15 SP4 kernel-64kb +3 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SLE HPC 15 SP4 kernel-docs +1 5.14.21-150400.24.133.1 SUSE-SU-2024:3408-1
SUSE Real Time Module 15 SP5 kernel-rt +2 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
SUSE Real Time Module 15 SP5 kernel-syms-rt 5.14.21-150500.13.67.1 SUSE-SU-2024:3209-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SUSE Manager Server 4.3 kernel-source +2 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SUSE Manager Server 4.3 kernel-syms 5.14.21-150400.24.133.1 SUSE-SU-2024:3408-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.133.2.150400.24.64.5 SUSE-SU-2024:3408-1
SUSE Manager Proxy 4.3 kernel-source +1 5.14.21-150400.24.133.2 SUSE-SU-2024:3408-1
SUSE Manager Proxy 4.3 kernel-syms 5.14.21-150400.24.133.1 SUSE-SU-2024:3408-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.5 dtb-aarch64 +3 5.14.21-150500.55.80.1 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-64kb +6 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-azure +2 5.14.21-150500.33.66.1 SUSE-SU-2024:3190-1
openSUSE Leap 15.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
openSUSE Leap 15.5 kernel-rt +2 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1
openSUSE Leap 15.5 kernel-syms-rt 5.14.21-150500.13.67.1 SUSE-SU-2024:3209-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
openSUSE Leap Micro 5.5 kernel-default 5.14.21-150500.55.80.2 SUSE-SU-2024:3483-1
openSUSE Leap Micro 5.5 kernel-default-base 5.14.21-150500.55.80.2.150500.6.35.6 SUSE-SU-2024:3483-1
openSUSE Leap Micro 5.5 kernel-rt 5.14.21-150500.13.67.3 SUSE-SU-2024:3209-1

Advisories 6

References