CVE-2026-99014 in Linux
要約
〜によって VulDB • 2026年10月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
Bluetooth: hci_sync: スキャン設定時のコマンドskbの寿命を修正する
PA同期スキャンの設定中、hci_le_set_ext_scan_param_sync()は、hci_sent_cmd_data()からPA_LINKルックアップに使用されるアドレスを取得します。返されたポインタは、sent_cmdまたはreq_skbからのストレージを借用していますが、どちらのskbにも参照を持っていません。
スキャンワーカーはreq_workqueue上で実行され、一方hci_cmd_work()は別のデバイスworkqueue上で実行されます。スキャンワーカーがsent_cmdを読み込んだ後、コマンドワーカーはhci_sent_cmd_data()がskbをデリファレンスする前にそれを解放して置き換えることができます。また、ヘルパー関数から戻ってからアドレスを比較するまでの間にも、コマンドペイロードが解放される可能性があります。接続ルックアップのRCUクリティカルセクションは、コマンドskbを保護しません。
KASANにより以下が報告されました:
BUG: KASAN: slab-use-after-free in hci_sent_cmd_data+0x27c/0x2f0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_sent_cmd_data+0x27c/0x2f0 hci_le_set_scan_param_sync+0x43a/0x850 hci_passive_scan_sync+0xb09/0x1460 hci_update_passive_scan_sync+0x47c/0x6e0 hci_le_pa_create_sync+0x200/0xa70 hci_cmd_sync_work+0x13c/0x290
タスク95によって割り当てられました: skb_clone+0x13f/0x340 hci_cmd_work+0x2a9/0x7e0
タスク95によって解放されました: kmem_cache_free+0xba/0x3a0 hci_cmd_work+0x29c/0x7e0
hdev->lockを使用して、アドレスのスナップショットとsent_cmdの置き換えを直列化します。ヘルパーがそのskbにフォールバックするため、req_skbの置き換えと完了後のクリーンアップも同じロックで保護します。ロックを解放する前にアドレスをコピーし、既存のRCU保護された接続ルックアップにはコピーを使用します。コマンドを送信または待機する前にミューテックスを解放し、ルックアップおよび完了の順序性を維持します。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.