CVE-2026-46186 Details
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.
A vulnerability exists in the Linux kernel's Bluetooth virtio_bt driver, where the function virtbt_rx_handle() processes incoming packets without properly validating the length of the payload against the minimum required for each packet type. This oversight can lead to the handling of uninitialized data, particularly when the packet type is HCI_ACLDATA_PKT and certain connections are active. The issue arises because the driver does not check if the remaining payload meets the fixed header requirements before forwarding the data to the core Bluetooth handling functions. As a result, this vulnerability could potentially be exploited to read uninitialized data from the Bluetooth RX buffer, creating a risk of information leakage or undefined behavior.
Users can update to the latest version of the Linux kernel where this vulnerability has been addressed. Instructions for updating the kernel can be found in the official Linux documentation.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/149cfb42ad69c7964fd9f2c43831da9152007129 | kernel.org | Patch |
| https://git.kernel.org/stable/c/1e1e509b6fd2a42421745bbcd98bd16daad20904 | kernel.org | Patch |
| https://git.kernel.org/stable/c/2c1143564c71e7497b42d8360a8379ccbb011d3c | kernel.org | Patch |
| https://git.kernel.org/stable/c/3485c7236c59c8c34a41af1c4b52982437554e79 | kernel.org | Patch |
| https://git.kernel.org/stable/c/7b2d4c04816cdc887f472caaf7fc966cfc107e40 | kernel.org | Patch |
| https://git.kernel.org/stable/c/daf23014e5d975e72ea9c02b5160d3fcf070ea47 | kernel.org | Patch |
| https://git.kernel.org/stable/c/f743eab6486965f276c7e3f1700895f014fdc6db | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-908 | Use of Uninitialized Resource | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.15.78, < 5.15.209 >= 6.0.8, < 6.1 >= 6.1.1, < 6.1.175 >= 6.2, < 6.6.140 >= 6.7, < 6.12.88 >= 6.13, < 6.18.30 >= 6.19, < 7.0.7 6.1 - 6.1 rc4 6.1 rc5 6.1 rc6 6.1 rc7 6.1 rc8 7.1 rc1 7.1 rc2 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Jun 11, 2026 | Initial Analysis | [email protected] |
| Jun 1, 2026 | CVE Modified | kernel.org |
| May 28, 2026 | New CVE Received | kernel.org |