CVE-2026-74510 in Linux
要約
〜によって VulDB • 2026年08月15日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
Bluetooth: mgmt: ペアリングコマンドのキャンセルにおけるUAF(Use-After-Free)を修正
ペアリング完了および認証失敗のコールバックは、hdev->mgmt_pendingを走査することにより保留中のMGMT_OP_PAIR_DEVICEコマンドを検索します。この検索処理では、後続の間接参照や削除を行う際にmgmt_pending_lockを取得したままにせずに、共有されている保留リスト上にまだリンクされた状態のコマンドが返されていました。
並行して発生するMGMT_OP_CANCEL_PAIR_DEVICEリクエストにより、コールバックがそのコマンドを使用する前に、同じ保留中のコマンドが削除・解放される可能性があります。また、cancel_pair_device()がpending_find()からコマンドを取得した後に、キャンセル処理側で間接参照を行う前にコールバックによってそのコマンドが削除されるという逆の競合状態も発生し得ます。これにより、Use-After-Freeや2回目のlist_del()が発生する恐れがあります。
ペアリング検索ヘルパー関数において、mgmt_pending_lockを保持した状態でhdev->mgmt_pendingから保留中コマンドを削除することにより、その所有権を移転するようにしました。その後、コールバックおよびキャンセル処理側で直接コマンドの完了と解放を行うため、競合するパスが同じコマンドを見つけたり解放したりすることがなくなります。また、cancel_pair_device()で一時的なhci_conn参照を取得します。これは、コマンド完了時に保留中コマンドに格納されていた参照が解放されるためです。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.