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.
Security readout for executives and security teams
Plain-English summary
This Linux kernel issue affects the virtio Bluetooth receive path. A backend can provide packets that are too short, causing the kernel to read uninitialized receive-buffer data. Business impact is most relevant for virtualized environments using virtio Bluetooth with an untrusted or compromised backend.
Executive priority
Treat this as a targeted kernel maintenance issue, not a broad internet-facing emergency. Prioritize environments that use virtual Bluetooth or have less trusted virtualization boundaries. Track vendor kernel updates and validate exposure before scheduling urgent downtime.
Technical view
virtbt_rx_handle() stripped the packet type byte and passed event, ACL, SCO, or ISO frames to hci_recv_frame() without verifying each fixed HCI header length. Short backend-supplied packets could reach Bluetooth core logic and trigger uninitialized data reads. The fix enforces per-type minimum lengths before forwarding.
Likely exposure
Exposure appears limited to Linux systems using the virtio_bt driver, especially virtualized guests receiving Bluetooth traffic from a backend. Systems without virtio Bluetooth or without backend-controlled RX input are unlikely to be exposed based on the supplied sources.
Exploitation context
The bundle does not show KEV listing or active exploitation. Exploitation evidence is incomplete. The described condition depends on malformed backend-supplied receive packets and, for the ACL fast path example, active CIS_LINK, BIS_LINK, or PA_LINK connection state.
Researcher notes
The source describes a missing length validation flaw after pkt_type removal, with per-type minimums: event 2, ACL 4, SCO 3, ISO 4. No CVSS, CWE, proof of exploitation, or distribution-specific package status is provided in the bundle.
Mitigation direction
Apply the relevant Linux stable kernel update containing the referenced fix commits.
Prioritize virtualized hosts or guests where virtio Bluetooth is enabled.
Disable virtio Bluetooth where it is unnecessary and supported by operations policy.
Check Linux distribution advisories for packaged kernel availability and backport status.
Validation and detection
Inventory kernels and confirm whether virtio_bt is built, loaded, or enabled.
Map running kernel versions to vendor advisories or the referenced stable commits.
Review virtualization configurations for virtio Bluetooth exposure to untrusted backends.
Check kernel logs for repeated virtio Bluetooth malformed packet errors after patching.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-46186 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 28, 2026, 09:36 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.