CVE-2022-50339 in Linux
要約
〜によって VulDB • 2026年05月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
Bluetooth: mgmt_init_hdev() における hci_dev_test_and_set_flag() の回避
syzbot が再び、mgmt_index_removed() において未初期化のワークをキャンセルしようとする試行を報告しています [1]。hci_sock_sendmsg() から hci_mgmt_cmd() を経由して mgmt_init_hdev() から HCI_MGMT フラグを設定する処理が、hci_sock_bind() から mgmt_index_removed() を経由して HCI_MGMT フラグを検出する処理と競合する可能性があります。これは、hci_dev_lock() による直列化(シリアライゼーション)が不足しているためです。
mgmt_init_hdev() は mgmt_chan_list_lock が保持された状態で呼び出されるため、hci_dev_test_and_set_flag() を hci_dev_test_flag() と hci_dev_set_flag() に安全に分割することができます。したがって、この競合を解消するために、INIT_DELAYED_WORK() の完了後に HCI_MGMT フラグを設定します。
これは mgmt_chan_list_lock に基づくローカルな修正です。hci_dev_lock() による直列化の不足が、他の場所でも異なる競合条件を引き起こしている可能性があります。ただし、hci_dev_lock() に基づくグローバルな修正については、将来のパッチとして検討する価値があります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.