CVE-2026-43119

Bluetooth: hci_sync: annotate data-races around hdev->req_status

MEDIUM
5.5
CVSS Score
Published: May 6, 2026 at 07:40 AM UTC
Updated: July 24, 2026 at 03:33 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: annotate data-races around hdev->req_status __hci_cmd_sync_sk() sets hdev->req_status under hdev->req_lock: hdev->req_status = HCI_REQ_PEND; However, several other functions read or write hdev->req_status without holding any lock: - hci_send_cmd_sync() reads req_status in hci_cmd_work (workqueue) - hci_cmd_sync_complete() reads/writes from HCI event completion - hci_cmd_sync_cancel() / hci_cmd_sync_cancel_sync() read/write - hci_abort_conn() reads in connection abort path Since __hci_cmd_sync_sk() runs on hdev->req_workqueue while hci_send_cmd_sync() runs on hdev->workqueue, these are different workqueues that can execute concurrently on different CPUs. The plain C accesses constitute a data race. Add READ_ONCE()/WRITE_ONCE() annotations on all concurrent accesses to hdev->req_status to prevent potential compiler optimizations that could affect correctness (e.g., load fusing in the wait_event condition or store reordering).

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 4.19.47v ≥ 5.0.20v ≥ 5.1.64.19.47 ≤ v < 4.205.0.20 ≤ v < 5.15.1.6 ≤ v < 5.25.2 ≤ v < 6.12.835.2 ≤ v < 6.18.245.2 ≤ v < 6.19.145.2 ≤ v < 6.6.1455.2 ≤ v < 7.06.13 ≤ v < 6.18.246.19 ≤ v < 6.19.140e061885bfcd65ef5d09f154f3c3c3491cc7544a4.19.475.0.205.1.67.0 rc17.0 rc27.0 rc37.0 rc47.0 rc58603d49906b231bbcd9141db7d096fa1041bc379a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153f80c5dad7b6467b884c445ffea45985793b4b2d0
Vendor states this is fixed in 40734ce8efc34c4a0d0222855798c0dc14b65f2e (fixed)
Vendor states this is fixed in 6e539907c0d11f514c5e0b049b27b04dff48a5b1 (fixed)
Vendor states this is fixed in a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27 (fixed)
Vendor states this is fixed in b6807cfc195ef99e1ac37b2e1e60df40295daa8c (fixed)
Vendor states this is fixed in e51042ddc0b20d9bda5eb6dcf85a2668f9c5dae4 (fixed)
Affected range stops below 4.20, so it looks safe — our inference, not a vendor statement
Affected range stops below 5.1, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.2 (unaffected)
Vendor states this is fixed in 6.12.83 (unaffected)
Vendor states this is fixed in 6.18.24 (unaffected)
Vendor states this is fixed in 6.19.14 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.0 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card