Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-79982— Out-of-bounds write in the USB Bluetooth HCI transport class when a controller-to-host HCI packet exceeds the bulk endpoint maximum packet size

Quick assessment

Affected
zephyrproject zephyr
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在新 USB 设备栈的蓝牙 HCI USB 传输类(subsys/usb/device_next/class/bt_hci.c)中,系统会将每个从控制器发往主机的 HCI 数据包复制到 USB 传输缓冲区,随后将其入队到端点。函数 从固定池 中分配该缓冲区,该池的每个槽位大小仅为 字节(在仅支持全速的构建中为 64 字节),随后调用 进行复制,但未对长度进行检查。HCI 事件和 ACL 缓冲区的大小由 和 配置,其实际尺寸可能远大于 64 字节,导致复制操作超出 64 字节槽位的末尾,进而覆盖相邻槽位以及静态分配池

CVSS 8.8 · High
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-79982

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Out-of-bounds write in the USB Bluetooth HCI transport class when a controller-to-host HCI packet exceeds the bulk endpoint maximum packet size
Source: CVE Program / CVE List V5
Vulnerability Description
The Bluetooth HCI USB transport class of the new USB device stack, subsys/usb/device_next/class/bt_hci.c, copies every controller-to-host HCI packet into a USB transfer buffer before enqueuing it on an endpoint. bt_hci_tx_sync_in() allocated that buffer from bt_hci_ep_pool, a fixed pool whose slots are only USBD_MAX_BULK_MPS bytes (64 on full-speed-only builds), and then performed net_buf_add_mem(buf, bt_buf->data, bt_buf->len) with no length check. HCI event and ACL buffers are sized by CONFIG_BT_BUF_EVT_RX_SIZE and CONFIG_BT_BUF_ACL_RX_SIZE and can be far larger, so the copy runs past the end of the 64-byte slot into the adjacent slots and into whatever follows the statically allocated pool. The device runs the local Bluetooth controller in raw HCI mode (CONFIG_BT_HCI_RAW), so the oversized packets originate over the air. With the HCI buffer sizes recommended for full-featured controllers, an unauthenticated attacker within Bluetooth range can supply the overflowing bytes: a connected peer that negotiates Data Length Extension can send ACL fragments up to CONFIG_BT_CTLR_DATA_LENGTH_MAX bytes, and an attacker that merely broadcasts extended advertising data reaches the same path through LE Extended Advertising Report events, which the controller fragments only to CONFIG_BT_BUF_EVT_RX_SIZE. In the stock configuration the overflow is already reached without any radio traffic: the mandatory Read Supported Commands command-complete event is 70 bytes and overruns the 64-byte slot by six bytes on every host initialization. Because net_buf_add_mem() validates tailroom only through an assertion unless CONFIG_NET_BUF_HARDENING is enabled, builds with CONFIG_ASSERT=n — the usual production setting — silently corrupt memory adjacent to the USB buffer pool with attacker-chosen contents, which on a target without memory protection between subsystems can lead to arbitrary code execution. Builds with assertions enabled fail the assertion instead and panic, giving a remotely triggerable denial of service. The fix introduces a separate bt_hci_tx_pool sized to MAX(BT_BUF_ACL_RX_SIZE, BT_BUF_EVT_RX_SIZE) for the controller-to-host direction while leaving the host-to-device pool at the endpoint packet size, which is already bounds-checked during reassembly.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存写
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
zephyrproject zephyr 3.3.0 ~ 4.4.2 -

II. Public POCs for CVE-2026-79982

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-79982

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-79982 (1)

Vendor Advisories for CVE-2026-79982 (1)

Same Patch Batch · zephyrproject · 2026-10-23 · 7 CVEs total

CVE-2026-79977 8.2 HIGH WireGuard peer endpoint learned from unauthenticated transport-data messages allows off-pa
CVE-2026-79979 7.8 HIGH Stale TLB entries after demand-paging page-out let arm64 user threads access reused physic
CVE-2026-19741 7.5 HIGH OpenThread joiner autostart uses a publicly documented default Joining Device Credential (
CVE-2026-79981 6.5 MEDIUM DNS resolver reuses a single UDP source port for all queries, easing off-path answer spoof
CVE-2026-79980 5.6 MEDIUM Predictable and reused DHCPv4 transaction identifier allows spoofed DHCP replies to reconf
CVE-2026-79978 3.6 LOW Out-of-bounds write in the ADXL345 sensor driver RTIO streaming FIFO read path

IV. Related Vulnerabilities

V. Comments for CVE-2026-79982

No comments yet


Leave a comment