Bluetooth HCI Command Timeout Vulnerability in Linux Kernel
Summary
CVE-2022-50166: In the Linux kernel, the following vulnerability has been resolved: Bluetooth: When HCI work queue is drained, only queue chained work The HCI command, event, and data packet processing workqueue is drained to avoid dead... Affects linux versions 5.10.103-1 – 6.9.9-1. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Linux kernel is the core component of many operating systems, providing essential services for hardware and software interactions. It supports various functionalities, including process management, memory management, and device drivers. This vulnerability specifically affects the Bluetooth subsystem, which handles wireless communication between devices. The issue arises when the HCI work queue is drained, leading to potential command timeouts and system instability.
Vulnerability Detail
In the Linux kernel, a vulnerability has been identified in the Bluetooth subsystem where the HCI command, event, and data packet processing workqueue can be drained improperly. This can lead to a situation where a delayed work item is queued to a drained workqueue, resulting in a command timeout error. The error manifests as 'Bluetooth: hci2: command 0x040f tx timeout' and can cause system instability or crashes. The root cause is linked to a commit that aimed to prevent deadlocks but inadvertently introduced this new issue.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, users can avoid queuing timeout work while the command workqueue is draining by implementing a new HCI_DRAIN_WQ flag in the Bluetooth subsystem. However, this requires code changes and should be approached with caution until an official patch is applied.
Conclusion
The CVE-2022-50166 vulnerability in the Linux kernel's Bluetooth subsystem poses a risk of command timeouts and system instability. Users are encouraged to update their systems to the patched version to mitigate this risk. For those unable to update immediately, a temporary workaround is available, though it requires careful implementation.
See every vulnerability recorded for linux →
FAQ
CVE-2022-50166 is a vulnerability in the Linux kernel's Bluetooth subsystem that can lead to command timeouts and system instability.
You can use Vulert, which monitors open-source vulnerabilities in your software. By using the Vulert playground, you can check if your application is affected without any signup.
Symptoms include command timeout errors in the Bluetooth subsystem, which may lead to instability or crashes in applications relying on Bluetooth functionality.
Yes, the permanent fix is to update the Linux package to version 6.0.2-1 or later, which addresses the vulnerability.
If immediate updates are not possible, consider implementing the workaround by avoiding queuing timeout work while the command workqueue is draining, but be cautious as this may require code changes.
Related vulnerabilities
Recent vulnerabilities recorded for linux.