What’s Vulnerable › Vulnerabilities

CVE-2022-50833: Bluetooth: use hdev->workqueue when queuing hdev->{cmd,ncmd}_timer works

Description

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: use hdev->workqueue when queuing hdev->{cmd,ncmd}_timer works syzbot is reporting attempt to schedule hdev->cmd_work work from system_wq WQ into hdev->workqueue WQ which is under draining operation [1], for commit c8efcc2589464ac7 ("workqueue: allow chained queueing during destruction") does not allow such operation. The check introduced by commit 877afadad2dce8aa ("Bluetooth: When HCI work queue is drained, only queue chained work") was incomplete. Use hdev->workqueue WQ when queuing hdev->{cmd,ncmd}_timer works because hci_{cmd,ncmd}_timeout() calls queue_work(hdev->workqueue). Also, protect the queuing operation with RCU read lock in order to avoid calling queue_delayed_work() after cancel_delayed_work() completed.

Affected products

How to fix

Upgrade to a fixed version: Linux kernel 5.19, 5.19.15, 6.1. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2022-50833 or the next vulnerability affects your stack