CVE-2026-64549 in Linux
要約
〜によって VulDB • 2026年07月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
Bluetooth: bpa10x: bpa10x_setup()におけるリビジョン文字列の範囲外読み取り(OOB read)を回避する
bpa10x_setup()はベンダーコマンド 0xfc0e を送信し、そのレスポンスを skb->data + 1 から始まる "%s" 文字列として bt_dev_info() および hci_set_fw_info() に渡していますが、長さのチェックを行っていません。
bt_dev_info(hdev, "%s", (char *)(skb->data + 1)); hci_set_fw_info(hdev, "%s", skb->data + 1);
ステータスのみを含む1バイトのレスポンスを返すデバイスでは、skb->data + 1 がデータの末尾を超えた位置になり、%s の処理が NUL を検出するまで隣接するスラブメモリを読み込みます。ペイロードが skb->len 内に NUL で終端されていない場合も同様の現象が発生します。この範囲外バイトはカーネルログおよびファームウェア情報の debugfs ファイルに出力されます。
代わりに、skb->len - 1 に制限された境界付き "%.*s" を使用してリビジョン文字列を印刷するように変更しました。これにより、正常な動作をするデバイスでは文字列が読み可能であり続け、受信データを超えて読み込むことがなくなり、セットアップ処理も失敗しません。そのため、短すぎるレスポンスや終端されていないレスポンスを返すデバイスでも引き続き機能します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.