CVE-2022-48878

7.8 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's Bluetooth subsystem allows local attackers to cause system crashes or potentially execute arbitrary code during system shutdown. This affects Linux systems with Qualcomm Atheros Bluetooth hardware when the HCI device fails to open properly. The vulnerability occurs during system reboot when the driver attempts to flush buffers that have already been freed.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions with the vulnerable hci_qca driver code, specifically versions before the fix commits
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Qualcomm Atheros Bluetooth hardware and the hci_uart driver module loaded. The vulnerability triggers during system shutdown when HCI device is not properly open.

📦 What is this software?

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

Local privilege escalation leading to kernel compromise and full system control, though this requires specific timing and conditions during shutdown.

🟠

Likely Case

System crash or kernel panic during reboot/shutdown, causing denial of service and potential data loss.

🟢

If Mitigated

Minor system instability during shutdown with no persistent effects if proper access controls prevent local attackers.

🌐 Internet-Facing: LOW - Requires local access to trigger during system shutdown.
🏢 Internal Only: MEDIUM - Local users or processes could trigger system crashes during reboot, causing service disruption.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and specific timing during system shutdown. The vulnerability is triggered by the shutdown process itself rather than a traditional exploit payload.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 272970be3dabd24cbe50e393ffee8f04aec3b9a8, 908d1742b6e694e84ead5c62e4b7c1bfbb8b46a3, e84ec6e25df9bb0968599e92eacedaf3a0a5b587, ea3ebda47dd56f6e1c62f2e0e1b6e1b0a973e447

Vendor Advisory: https://git.kernel.org/stable/c/272970be3dabd24cbe50e393ffee8f04aec3b9a8

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager to update kernel package. 3. Rebuild kernel if using custom kernel. 4. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable Qualcomm Bluetooth module

linux

Prevent loading of the vulnerable hci_uart driver module

echo 'blacklist hci_uart' >> /etc/modprobe.d/blacklist.conf
rmmod hci_uart

Disable Bluetooth service

linux

Stop Bluetooth service to prevent HCI device initialization

systemctl stop bluetooth
systemctl disable bluetooth

🧯 If You Can't Patch

  • Restrict local user access to prevent triggering during shutdown
  • Implement monitoring for system crashes during reboot and investigate any occurrences

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if hci_uart module is loaded: lsmod | grep hci_uart && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is after fix commits and test system reboot with Bluetooth hardware present

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages during shutdown
  • Use-after-free errors in kernel logs
  • Systemd shutdown process failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("use-after-free" OR "KASAN" OR "tty_driver_flush_buffer") AND process="systemd-shutdow"

🔗 References

📤 Share & Export