CVE-2024-53207 in Linuxinfo

Summary

by MITRE • 12/27/2024

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: MGMT: Fix possible deadlocks

This fixes possible deadlocks like the following caused by hci_cmd_sync_dequeue causing the destroy function to run:

INFO: task kworker/u19:0:143 blocked for more than 120 seconds. Tainted: G W O 6.8.0-2024-03-19-intel-next-iLS-24ww14 #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/u19:0 state:D stack:0 pid:143 tgid:143 ppid:2 flags:0x00004000 Workqueue: hci0 hci_cmd_sync_work [bluetooth]
Call Trace: __schedule+0x374/0xaf0 schedule+0x3c/0xf0 schedule_preempt_disabled+0x1c/0x30 __mutex_lock.constprop.0+0x3ef/0x7a0 __mutex_lock_slowpath+0x13/0x20 mutex_lock+0x3c/0x50 mgmt_set_connectable_complete+0xa4/0x150 [bluetooth]
? kfree+0x211/0x2a0 hci_cmd_sync_dequeue+0xae/0x130 [bluetooth]
? __pfx_cmd_complete_rsp+0x10/0x10 [bluetooth]
cmd_complete_rsp+0x26/0x80 [bluetooth]
mgmt_pending_foreach+0x4d/0x70 [bluetooth]
__mgmt_power_off+0x8d/0x180 [bluetooth]
? _raw_spin_unlock_irq+0x23/0x40 hci_dev_close_sync+0x445/0x5b0 [bluetooth]
hci_set_powered_sync+0x149/0x250 [bluetooth]
set_powered_sync+0x24/0x60 [bluetooth]
hci_cmd_sync_work+0x90/0x150 [bluetooth]
process_one_work+0x13e/0x300 worker_thread+0x2f7/0x420 ? __pfx_worker_thread+0x10/0x10 kthread+0x107/0x140 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x3d/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 12/15/2025

The vulnerability identified as CVE-2024-53207 represents a critical deadlock condition within the Linux kernel's Bluetooth subsystem, specifically affecting the management (MGMT) interface. This issue manifests when the hci_cmd_sync_dequeue function triggers the execution of a destroy function, creating a circular dependency that prevents the system from proceeding with normal operations. The deadlock occurs in the context of the kworker thread responsible for handling Bluetooth commands, where the system becomes unresponsive for extended periods, as evidenced by the hung task timeout message indicating a block of over 120 seconds. The affected kernel version 6.8.0 demonstrates this flaw in the bluetooth module's handling of synchronous command processing and completion routines.

The technical root cause of this vulnerability lies in improper synchronization mechanisms within the Bluetooth management interface implementation. When the mgmt_set_connectable_complete function attempts to acquire a mutex lock, it encounters a scenario where the lock acquisition process is blocked by a destroy function that was initiated through hci_cmd_sync_dequeue. This creates a classic deadlock condition where the system waits indefinitely for resources that cannot be released due to the circular dependency between the command completion processing and the destruction of associated data structures. The call stack reveals that the issue originates from the hci_cmd_sync_work workqueue execution context, where the sequence of function calls leads to a situation where mutex_lock operations cannot proceed due to the ongoing destruction of command-related resources.

The operational impact of this vulnerability extends beyond simple system unresponsiveness to potentially compromise the entire Bluetooth functionality of affected systems. When the deadlock occurs, the kernel's workqueue processing becomes blocked, preventing any further Bluetooth command processing or system maintenance operations related to the affected HCI device. This can lead to complete loss of Bluetooth connectivity, requiring system reboot to restore functionality. The vulnerability affects systems running kernel versions 6.8.0 and potentially earlier versions, making it particularly concerning for embedded systems, IoT devices, and mobile platforms that rely heavily on Bluetooth connectivity. The issue demonstrates a failure in proper resource management and synchronization protocols within the kernel's Bluetooth subsystem.

Mitigation strategies for this vulnerability should focus on immediate kernel updates to versions containing the fix, as the Linux kernel maintainers have already resolved this issue in subsequent releases. System administrators should prioritize patching affected systems, particularly those running kernel versions 6.8.0 or earlier, to prevent potential exploitation. Additionally, monitoring for hung task warnings and implementing proper timeout mechanisms can help detect early signs of the deadlock condition. The fix implemented addresses the core synchronization issue by ensuring proper ordering of lock acquisition and release operations, preventing the circular dependency that led to the deadlock. Organizations should also consider implementing hardware-level monitoring for Bluetooth subsystems and establishing automated alerting systems to detect unusual blocking patterns that could indicate similar synchronization issues. This vulnerability aligns with CWE-362, which describes concurrent execution using a lock that is released before the lock is reacquired, and may relate to ATT&CK technique T1490, which involves data destruction through system resource exhaustion or blocking mechanisms.

Responsible

Linux

Reservation

11/19/2024

Disclosure

12/27/2024

Moderation

accepted

CPE

ready

EPSS

0.00010

KEV

no

Activities

very low

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!