LinuxのLinux Kernelにおける初期化されていないリソースの使用に関する脆弱性
タイトル LinuxのLinux Kernelにおける初期化されていないリソースの使用に関する脆弱性
概要

Linuxカーネルにおいて、Bluetoothのvirtio_btドライバーでrx pkt_typeヘッダー長の検証に関する脆弱性が修正されました。virtbt_rx_handle()関数は受信したskbから先頭のpkt_typeバイトを読み取り、残りのデータをすべてのevent/ACL/SCO/ISOタイプに対してhci_recv_frame()に渡しますが、残りのペイロードがタイプごとの固定HCIヘッダーサイズ以上であるかを確認していませんでした。特にACLデータパケットの処理時に初期化されていないバッファデータを読み取る可能性があり、不正なメモリ参照が起こる恐れがありました。本脆弱性はパケット長とpkt_type情報が信頼できない場合に発生し得るもので、対応としてpkt_typeに応じた最低限のヘッダー長を検証し、不足する場合はログを制限しつつパケットを破棄するように修正されました。これにより、不正なパケットによるカーネルのメモリ破壊や予期せぬ動作を防止します。

想定される影響 ・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアが完全に停止する可能性があります。 
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

公表日 2026年5月28日0:00
登録日 2026年6月12日14:48
最終更新日 2026年6月12日14:48
CVSS3.0 : 警告
スコア 5.5
ベクター CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Linux
Linux Kernel 5.15.78 以上 5.15.209 未満
Linux Kernel 6.0.8 以上 6.1 未満
Linux Kernel 6.1
Linux Kernel 6.1.1 以上 6.1.175 未満
Linux Kernel 6.13 以上 6.18.30 未満
Linux Kernel 6.19 以上 7.0.7 未満
Linux Kernel 6.2 以上 6.6.140 未満
Linux Kernel 6.7 以上 6.12.88 未満
Linux Kernel 7.1
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
変更履歴
No 変更内容 変更日
1 [2026年06月12日]
  掲載
2026年6月12日14:48

NVD脆弱性情報
CVE-2026-46186
概要

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: virtio_bt: validate rx pkt_type header length

virtbt_rx_handle() reads the leading pkt_type byte from the RX skb
and forwards the remainder to hci_recv_frame() for every
event/ACL/SCO/ISO type, without checking that the remaining payload
is at least the fixed HCI header for that type.

After the preceding patch bounds the backend-supplied used.len to
[1, VIRTBT_RX_BUF_SIZE], a one-byte completion still reaches
hci_recv_frame() with skb->len already pulled to 0. If the byte
happened to be HCI_ACLDATA_PKT, the ACL-vs-ISO classification
fast-path in hci_dev_classify_pkt_type() dereferences
hci_acl_hdr(skb)->handle whenever the HCI device has an active
CIS_LINK, BIS_LINK, or PA_LINK connection, reading two bytes of
uninitialized RX-buffer data. The same hazard exists for every
packet type the driver accepts because none of the switch cases in
virtbt_rx_handle() check skb->len against the per-type minimum HCI
header size before handing the frame to the core.

After stripping pkt_type, require skb->len to cover the fixed
header size for the selected type (event 2, ACL 4, SCO 3, ISO 4)
before calling hci_recv_frame(); drop ratelimited otherwise.
Unknown pkt_type values still take the original kfree_skb() default
path.

Use bt_dev_err_ratelimited() because both the length and pkt_type
values come from an untrusted backend that can otherwise flood the
kernel log.

公表日 2026年5月28日19:16
登録日 2026年5月29日4:13
最終更新日 2026年6月2日2:17
関連情報、対策とツール
共通脆弱性一覧