CVE-2026-43119Linux内核蓝牙子系统的hci_sync模块中存在一处数据竞争漏洞。该漏洞源于`hdev->req_status`变量在并发访问时缺乏适当的同步机制。虽然在某些写入操作中使用了锁保护,但在多个读取和写入路径中未持有锁,且这些操作运行在不同的内核工作队列中。这种并发访问可能导致编译器优化引发逻辑错误,从而影响系统的可用性。
该漏洞位于Linux内核的Bluetooth HCI同步层。`hdev->req_status`变量用于跟踪HCI请求的状态。`__hci_cmd_sync_sk()`函数在持有`hdev->req_lock`时设置该状态,然而,`hci_send_cmd_sync()`(在`hci_cmd_work`工作队列中运行)、`hci_cmd_sync_complete()`(在事件完成回调中运行)以及`hci_cmd_sync_cancel()`等函数在访问该变量时并未获取锁。由于`hci_send_cmd_sync()`运行在`hdev->workqueue`,而`__hci_cmd_sync_sk()`运行在`hdev->req_workqueue`,这两个队列可以在多核CPU上并发执行。这种无锁并发访问构成了数据竞争,可能导致编译器进行不安全的优化(如加载融合或存储重排序),进而导致内核逻辑判断错误,引发系统崩溃或拒绝服务。