CVE-2019-15917
📋 TL;DR
This CVE describes a use-after-free vulnerability in the Linux kernel's Bluetooth HCI UART driver. When hci_uart_register_dev() fails during protocol setup, memory that has already been freed can be accessed, potentially leading to kernel crashes or arbitrary code execution. Systems running Linux kernels before version 5.0.5 with Bluetooth support are affected.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Leap by Opensuse
Leap by Opensuse
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash, or potential privilege escalation to kernel-level code execution allowing full system compromise.
Likely Case
System instability, kernel crashes, or denial of service affecting Bluetooth functionality.
If Mitigated
Limited impact if Bluetooth is disabled or the vulnerable code path isn't triggered.
🎯 Exploit Status
Exploitation requires triggering specific failure conditions in Bluetooth protocol setup, making reliable exploitation challenging.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel 5.0.5 and later
Vendor Advisory: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.0.5
Restart Required: Yes
Instructions:
1. Update to Linux kernel 5.0.5 or later. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel packages. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
Disable Bluetooth kernel module
linuxPrevent loading of vulnerable Bluetooth HCI UART driver
echo 'blacklist hci_uart' >> /etc/modprobe.d/blacklist.conf
rmmod hci_uart
🧯 If You Can't Patch
- Disable Bluetooth functionality at kernel level if not required
- Implement strict access controls to limit local user privileges
🔍 How to Verify
Check if Vulnerable:
Check kernel version: uname -r. If version is earlier than 5.0.5, system is vulnerable.
Check Version:
uname -r
Verify Fix Applied:
After patching, verify kernel version is 5.0.5 or later with uname -r
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- Bluetooth subsystem crashes in dmesg
- Use-after-free warnings in kernel logs
Network Indicators:
- Unexpected Bluetooth service failures
SIEM Query:
source="kernel" AND ("use-after-free" OR "hci_uart" OR "Bluetooth crash")
🔗 References
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00064.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00066.html
- http://packetstormsecurity.com/files/155890/Slackware-Security-Advisory-Slackware-14.2-kernel-Updates.html
- https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.0.5
- https://github.com/torvalds/linux/commit/56897b217a1d0a91c9920cb418d6b3fe922f590a
- https://lists.debian.org/debian-lts-announce/2019/09/msg00025.html
- https://lists.debian.org/debian-lts-announce/2020/03/msg00001.html
- https://seclists.org/bugtraq/2020/Jan/10
- https://security.netapp.com/advisory/ntap-20191004-0001/
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00064.html
- http://lists.opensuse.org/opensuse-security-announce/2019-09/msg00066.html
- http://packetstormsecurity.com/files/155890/Slackware-Security-Advisory-Slackware-14.2-kernel-Updates.html
- https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.0.5
- https://github.com/torvalds/linux/commit/56897b217a1d0a91c9920cb418d6b3fe922f590a
- https://lists.debian.org/debian-lts-announce/2019/09/msg00025.html
- https://lists.debian.org/debian-lts-announce/2020/03/msg00001.html
- https://seclists.org/bugtraq/2020/Jan/10
- https://security.netapp.com/advisory/ntap-20191004-0001/