CVE-2022-50419
📋 TL;DR
This vulnerability in the Linux kernel's Bluetooth subsystem occurs when device_add() is called multiple times for the same device structure, violating kernel API rules. This can cause a kernel panic (system crash) when handling certain Bluetooth events. Systems running affected Linux kernel versions with Bluetooth enabled are vulnerable.
💻 Affected Systems
- Linux kernel
📦 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 →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 complete system crash and denial of service, potentially requiring physical access to reboot the system.
Likely Case
System crash or instability when specific Bluetooth events trigger the double device_add() call, causing service disruption.
If Mitigated
Minimal impact if Bluetooth is disabled or the system is patched; otherwise, potential crashes during Bluetooth operations.
🎯 Exploit Status
Exploitation requires triggering specific Bluetooth events that cause the double device_add() call. The syzkaller report suggests it's triggerable but not trivial.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits: 1b6c89571f453101251201f0fad1c26f7256e937, 3423a50fa018e88aed4c900d59c3c8334d8ad583, 448a496f760664d3e2e79466aa1787e6abc922b5, 4bcefec3636208b4c97536b26014d5935d5c10a0, 6144423712d570247b8ca26e50a277c30dd13702
Vendor Advisory: https://git.kernel.org/stable/c/1b6c89571f453101251201f0fad1c26f7256e937
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution's repositories. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.
🔧 Temporary Workarounds
Disable Bluetooth
linuxDisable Bluetooth functionality to prevent triggering the vulnerability
sudo systemctl stop bluetooth
sudo systemctl disable bluetooth
sudo rfkill block bluetooth
Blacklist hci_sysfs module
linuxPrevent loading of the vulnerable hci_sysfs kernel module
echo 'blacklist hci_sysfs' | sudo tee /etc/modprobe.d/blacklist-hci_sysfs.conf
sudo update-initramfs -u
sudo reboot
🧯 If You Can't Patch
- Disable Bluetooth functionality completely on affected systems
- Implement strict access controls to prevent unauthorized Bluetooth connections
🔍 How to Verify
Check if Vulnerable:
Check if Bluetooth is enabled and kernel version is unpatched: 'systemctl status bluetooth' and 'uname -r'
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version is updated and Bluetooth functions normally after patch: 'uname -r' and test Bluetooth connectivity
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages in /var/log/kern.log or dmesg
- Bluetooth subsystem crash logs
- System crash/reboot events
Network Indicators:
- Unusual Bluetooth connection attempts
- Bluetooth service disruptions
SIEM Query:
source="kernel" AND ("list_debug.c:33" OR "invalid opcode" OR "hci_sysfs" OR "device_add multiple times")
🔗 References
- https://git.kernel.org/stable/c/1b6c89571f453101251201f0fad1c26f7256e937
- https://git.kernel.org/stable/c/3423a50fa018e88aed4c900d59c3c8334d8ad583
- https://git.kernel.org/stable/c/448a496f760664d3e2e79466aa1787e6abc922b5
- https://git.kernel.org/stable/c/4bcefec3636208b4c97536b26014d5935d5c10a0
- https://git.kernel.org/stable/c/6144423712d570247b8ca26e50a277c30dd13702
- https://git.kernel.org/stable/c/671fee73e08ff415d36a7c16bdf238927df83884
- https://git.kernel.org/stable/c/6e85d2ad958c6f034b1b158d904019869dbb3c81
- https://git.kernel.org/stable/c/7b674dce4162bb46d396586e30e4653427023875
- https://git.kernel.org/stable/c/ef055094df4c10b73cfe67c8d43f9de1fb608a8b