CVE-2026-46186

MEDIUM EPSS 2.4%
Published May 28, 20261mo ago · Modified Jun 17, 20261w ago
5.5 CVSS 3.1
Medium
Find Similar
Published May 28, 2026 1mo ago
Last Modified Jun 17, 2026 1w ago

Description

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.

CVSS Details

Base Score
5.5
Exploitability
1.8
Impact
3.6
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality None
Integrity None
Availability High

Threat Intelligence

EPSS Exploit Probability
2.4% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-908

Affected Products 15

VendorProductVersionRange
linuxlinux_kernel*≥5.15.78  –  <5.15.209
linuxlinux_kernel*≥6.0.8  –  <6.1
linuxlinux_kernel*≥6.1.1  –  <6.1.175
linuxlinux_kernel*≥6.2  –  <6.6.140
linuxlinux_kernel*≥6.7  –  <6.12.88
linuxlinux_kernel*≥6.13  –  <6.18.30
linuxlinux_kernel*≥6.19  –  <7.0.7
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel6.1any
linuxlinux_kernel7.1any
linuxlinux_kernel7.1any

References 7

  • git.kernel.org https://git.kernel.org/stable/c/149cfb42ad69c7964fd9f2c43831da9152007129
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/1e1e509b6fd2a42421745bbcd98bd16daad20904
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/2c1143564c71e7497b42d8360a8379ccbb011d3c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/3485c7236c59c8c34a41af1c4b52982437554e79
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/7b2d4c04816cdc887f472caaf7fc966cfc107e40
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/daf23014e5d975e72ea9c02b5160d3fcf070ea47
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/f743eab6486965f276c7e3f1700895f014fdc6db
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/149cfb42ad69c7964fd9f2c43831da9152007129
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/1e1e509b6fd2a42421745bbcd98bd16daad20904
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/2c1143564c71e7497b42d8360a8379ccbb011d3c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/3485c7236c59c8c34a41af1c4b52982437554e79
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/7b2d4c04816cdc887f472caaf7fc966cfc107e40
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/daf23014e5d975e72ea9c02b5160d3fcf070ea47
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/f743eab6486965f276c7e3f1700895f014fdc6db
    Patch