CVE-2021-3564
Medium · 5.5CVSS
5.5
EPSS
0.5%
Published
Jun 8, 2021
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's Bluetooth handling lets a logged-in user crash the entire computer on purpose.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Double-free memory corruption during HCI device initialization in the Linux kernel Bluetooth subsystem when a malicious HCI TTY device is attached by a local user, resulting in kernel memory corruption and system crash (availability impact only).
Why it matters to the business
Local users can intentionally or accidentally cause complete system crashes on affected Linux servers, desktops, or embedded devices, leading to downtime, loss of availability, and potential data loss for workloads running on those systems; widespread exposure across server and IoT fleets increases operational risk.
How an attack unfolds
An attacker with local shell access creates or emulates a malicious HCI TTY Bluetooth device and attaches it to the kernel's HCI subsystem; the double-free occurs during initialization, corrupting kernel memory and triggering a panic. Public exploit code exists and the flaw has been referenced in Android kernel race-condition research contexts.
How to fix it
Upgrade the Linux kernel to a version that contains the fix for the HCI initialization double-free (all releases starting from 3.13 are affected until patched); disable Bluetooth HCI TTY support via kernel configuration or module blacklisting if the functionality is unused; apply distribution updates from Fedora, Debian, or other vendors that back-port the correction.
How to confirm the fix worked
Verify running kernel version is newer than the last affected 3.13-era release and that the HCI double-free code path has been removed or hardened; attempt to reproduce the crash with a safe test device in a lab environment or review kernel source for the corrected hci_ldisc.c initialization logic.
Typical attack path
- Obtain local unprivileged shell on target Linux system
- Prepare or attach a crafted HCI TTY Bluetooth device node
- Trigger HCI device initialization code path
- Cause kernel double-free and panic to achieve denial of service
How to detect it
Search kernel logs (dmesg, /var/log/kern.log, journalctl) for HCI-related initialization failures, double-free warnings, or Bluetooth TTY oops/panics; correlate with user sessions that recently accessed /dev/tty* or hci devices.
What your security team should do
- Prioritize kernel upgrades on all internet-facing or multi-tenant Linux systems within the next patching cycle
- Restrict local user access and Bluetooth device attachment privileges via udev rules or group membership
- Monitor for kernel oops and panic reports mentioning HCI or Bluetooth TTY
- Consider disabling unused Bluetooth subsystems at build or boot time
The record
A flaw double-free memory corruption in the Linux kernel HCI device initialization subsystem was found in the way user attach malicious HCI TTY Bluetooth device. A local user could use this flaw to crash the system. This flaw affects all the Linux kernel versions starting from 3.13.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | kernel-tools-libs-devel | 0 | 4.18.0-348.el8 |
| Chainguard | hyperv-daemons | 0 | 0 |
| Chainguard | hyperv-daemons-6.12 | 0 | 0 |
| Chainguard | hyperv-daemons-6.18 | 0 | 0 |
| Chainguard | hyperv-daemons-generic | 0 | 0 |
| Chainguard | linux | 0 | 0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-aws-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-headers | 0 | 0 |
| Chainguard | linux-aws-6.12-modules | 0 | 0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-aws-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-headers | 0 | 0 |
| Chainguard | linux-aws-6.18-modules | 0 | 0 |
| Chainguard | linux-aws-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-aws-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-aws-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-aws-generic-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-headers | 0 | 0 |
| Chainguard | linux-aws-generic-modules | 0 | 0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.65-r1 |
| Chainguard | linux-azure-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-headers | 0 | 0 |
| Chainguard | linux-azure-6.12-modules | 0 | 0 |
| Chainguard | linux-azure-6.18 | 0 | 0 |
| Chainguard | linux-azure-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-headers | 0 | 0 |
| Chainguard | linux-azure-6.18-modules | 0 | 0 |
| Chainguard | linux-azure-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-azure-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-azure-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-azure-generic-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-headers | 0 | 0 |
| Chainguard | linux-azure-generic-modules | 0 | 0 |
| Chainguard | linux-boot-configuration | 0 | 0 |
| Chainguard | linux-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-gcp-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-headers | 0 | 0 |
| Chainguard | linux-gcp-6.12-modules | 0 | 0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-gcp-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-headers | 0 | 0 |
| Chainguard | linux-gcp-6.18-modules | 0 | 0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-gcp-generic-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-headers | 0 | 0 |
| Chainguard | linux-gcp-generic-modules | 0 | 0 |
| Chainguard | linux-modules | 0 | 0 |
| Chainguard | linux-qemu-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.4-r0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-headers | 0 | 0 |
| Chainguard | linux-qemu-generic-modules | 0 | 0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc4-r0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc5-r0 |
| Chainguard | linux-qemu-rc-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-headers | 0 | 0 |
| Chainguard | linux-qemu-rc-modules | 0 | 0 |
| Chainguard | linux-vmware-6.12 | 0 | 6.12.67-r0 |
| Chainguard | linux-vmware-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.18 | 0 | 6.18.7-r0 |
| Chainguard | linux-vmware-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-vmware-generic-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-headers | 0 | 0 |
| Chainguard | linux-vmware-generic-modules | 0 | 0 |
| Debian:11 | linux | 0 | 5.10.46-1 |
| Debian:12 | linux | 0 | 5.10.46-1 |
| Debian:13 | linux | 0 | 5.10.46-1 |
| Debian:9 | linux | 0 | 4.9.272-1 |
| Debian:9 | linux-4.19 | 0 | 4.19.194-1~deb9u1 |
| Mageia:7 | kernel | 0 | 5.10.41-1.mga7 |
| Mageia:7 | kernel-linus | 0 | 5.10.43-1.mga7 |
| Mageia:7 | kmod-virtualbox | 0 | 6.1.22-1.5.mga7 |
| Mageia:7 | kmod-xtables-addons | 0 | 3.13-27.mga7 |
| Mageia:8 | kernel | 0 | 5.10.41-1.mga8 |
| Mageia:8 | kernel-linus | 0 | 5.10.43-1.mga8 |
| Mageia:8 | kmod-virtualbox | 0 | 6.1.22-1.5.mga8 |
| Mageia:8 | kmod-xtables-addons | 0 | 3.18-1.5.mga8 |
| Red Hat:enterprise_linux:7::client | bpftool | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | bpftool-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-abi-whitelists | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-bootwrapper | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debug-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-doc | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-headers | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-kdump-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-libs | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | kernel-tools-libs-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | python-perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::client | python-perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | bpftool | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | bpftool-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-abi-whitelists | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-bootwrapper | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debug-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-doc | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-headers | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-kdump-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-libs | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | kernel-tools-libs-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | python-perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::computenode | python-perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | bpftool | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | bpftool-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-abi-whitelists | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-bootwrapper | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debug-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-ppc64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-ppc64le | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-s390x | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-debuginfo-common-x86_64 | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-doc | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-headers | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-kdump-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-libs | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | kernel-tools-libs-devel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | python-perf | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::server | python-perf-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | bpftool | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | bpftool-debuginfo | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-abi-whitelists | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-bootwrapper | 0 | 0:3.10.0-1160.59.1.el7 |
| Red Hat:enterprise_linux:7::workstation | kernel-debug | 0 | 0:3.10.0-1160.59.1.el7 |
Related vulnerabilities
- CVE-2025-68301 In the Linux kernel, the following vulnerability has been resolved: net: atlantic: fix… Also affects kernel-tools-libs-devel
- CVE-2025-68285 In the Linux kernel, the following vulnerability has been resolved: libceph: fix… Also affects kernel-tools-libs-devel
- CVE-2025-40277 In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate… Also affects kernel-tools-libs-devel
- CVE-2025-40248 In the Linux kernel, the following vulnerability has been resolved: vsock: Ignore… Also affects kernel-tools-libs-devel
- CVE-2025-40240 In the Linux kernel, the following vulnerability has been resolved: sctp: avoid NULL… Also affects kernel-tools-libs-devel
- CVE-2025-40154 In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel… Also affects kernel-tools-libs-devel
- CVE-2025-40096 In the Linux kernel, the following vulnerability has been resolved: drm/sched: Fix… Also affects kernel-tools-libs-devel
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects kernel-tools-libs-devel