CVE-2026-98601 in Linux
要約
〜によって VulDB • 2026年10月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
Bluetooth: btintel_pcie: デバイスが提供したDMAインデックスの検証
btintel_pcie_msix_rx_handle()関数では、ドライバがPCIeデバイスによってDMA一貫性メモリに書き込まれたRX完了記述子(urbd1)を処理します。urbd1->frbd_tag(デバイスのファームウェアによりDMAを通じて完全に制御される16ビットフィールド)は、境界チェックなしでrxq->bufs[]への配列インデックスとして直接使用されます。rxq->bufs[]にはBTINTEL_PCIE_RX_DESCS_COUNT (64)エントリしかありませんが、frbd_tagは0〜65535の任意の値を取り得ます。悪意のあるまたは故障したデバイスは範囲外のfrbd_tagを書き込むことができ、その結果ドライバは境界外データ_bufポインタを逆参照します。
さらに、cr_hiaもデバイスによって書き込み可能なDMA共有インデックス配列から読み込まれます。もしデバイスが cr_hia >= rxq->count を設定した場合、whileループは終了しません。なぜなら、cr_tia は rxq->count によるモジュロ演算でラップされ、範囲外の cr_hia と決して等しくならないためです。
RXパスにおいて cr_hia および frbd_tag の境界検証を追加し、TXパスにおいて cr_hia の境界検証を追加します。無効な値を検出した場合は bt_dev_err を使用してログを出力してからリターンします。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.