Skip to main content
← All vulnerabilities
CVE-2022-50833

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.19.15, 5.19
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 5.19.2 · fixed in 5.19.15; From 5.18.18 · fixed in 5.19

  • Linux Linux

    6.0

References 3

git.kernel.org