CVE-2026-43119

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinuxf80c5dad7b6467b884c445ffea45985793b4b2d0 < 6e539907c0d11f514c5e0b049b27b04dff48a5b1affected
LinuxLinuxf80c5dad7b6467b884c445ffea45985793b4b2d0 < a7a1cdb4a64ca74eb95cc46648fccb8cd3f9af27affected
LinuxLinuxf80c5dad7b6467b884c445ffea45985793b4b2d0 < 40734ce8efc34c4a0d0222855798c0dc14b65f2eaffected
LinuxLinuxf80c5dad7b6467b884c445ffea45985793b4b2d0 < b6807cfc195ef99e1ac37b2e1e60df40295daa8caffected
LinuxLinux8603d49906b231bbcd9141db7d096fa1041bc379affected
LinuxLinux0e061885bfcd65ef5d09f154f3c3c3491cc7544aaffected
LinuxLinuxa3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153affected
LinuxLinux4.19.47 < 4.20affected
LinuxLinux5.0.20 < 5.1affected
LinuxLinux5.1.6 < 5.2affected
LinuxLinux5.2affected
LinuxLinux0 < 5.2unaffected
LinuxLinux6.12.83 <= 6.12.*unaffected
LinuxLinux6.18.24 <= 6.18.*unaffected
LinuxLinux6.19.14 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References