CVE-2022-50339: Bluetooth: avoid hci_dev_test_and_set_flag() in mgmt_init_hdev()
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: avoid hci_dev_test_and_set_flag() in mgmt_init_hdev()
syzbot is again reporting attempt to cancel uninitialized work
at mgmt_index_removed() [1], for setting of HCI_MGMT flag from
mgmt_init_hdev() from hci_mgmt_cmd() from hci_sock_sendmsg() can
race with testing of HCI_MGMT flag from mgmt_index_removed() from
hci_sock_bind() due to lack of serialization via hci_dev_lock().
Since mgmt_init_hdev() is called with mgmt_chan_list_lock held, we can
safely split hci_dev_test_and_set_flag() into hci_dev_test_flag() and
hci_dev_set_flag(). Thus, in order to close this race, set HCI_MGMT flag
after INIT_DELAYED_WORK() completed.
This is a local fix based on mgmt_chan_list_lock. Lack of serialization
via hci_dev_lock() might be causing different race conditions somewhere
else. But a global fix based on hci_dev_lock() should deserve a future
patch.
Security readout for executives and security teams
Plain-English summary
A race condition in Linux Bluetooth management can expose partially initialized work to a concurrent removal path. A local, low-privileged user may be able to trigger serious confidentiality, integrity, or availability impact. Systems without Bluetooth hardware or the affected kernel code may have lower practical exposure.
Executive priority
Prioritize affected multi-user endpoints, shared Linux systems, and devices permitting untrusted local access. Treat remediation as a high-priority kernel update, but validate distribution backports before declaring exposure because upstream version labels alone may not map cleanly to packaged kernels.
Technical view
CWE-362 affects HCI management initialization. Concurrent hci_sock_sendmsg() and hci_sock_bind() paths can set and test HCI_MGMT without hci_dev_lock(), allowing mgmt_index_removed() to cancel uninitialized delayed work. The published fix initializes delayed work before setting HCI_MGMT while holding mgmt_chan_list_lock.
Likely exposure
The supplied record identifies affected Linux 6.0-era versions, with version boundaries involving 6.0.3 and 6.1. Its flattened version data is ambiguous. Confirm exposure using distribution advisories and kernel backport records, especially where untrusted users have local access and Bluetooth support is enabled.
Exploitation context
The CVSS vector requires local access and low privileges, with no user interaction. The supplied sources do not establish remote exploitation, public weaponization, or observed attacks. This CVE is not listed as KEV in the bundle, so active exploitation should not be claimed.
Researcher notes
The patch changes initialization ordering under mgmt_chan_list_lock rather than introducing global hci_dev_lock() serialization. The description explicitly notes that missing global serialization might cause other races and leaves broader correction to future work. That statement is a research lead, not evidence of another confirmed vulnerability or bypass.
Mitigation direction
Install a vendor-supported kernel containing the referenced fix or its documented backport.
Check distribution security guidance for exact fixed package versions.
Restrict untrusted local account access until affected systems are updated.
Consider disabling unnecessary Bluetooth functionality after operational and vendor review.
Validation and detection
Record each system's running kernel and distribution package version.
Confirm the vendor changelog includes either referenced commit or an equivalent backport.
Identify systems with Bluetooth support enabled and accessible to local users.
Review kernel logs for reports involving cancellation of uninitialized Bluetooth management work.
Regression-test required Bluetooth management functions after updating.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-362: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
2CVSS vectors
3Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
2 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-362 · source CWE mapping
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.