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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-90832— Out-of-bounds read in Bluetooth Host periodic advertising report reassembly due to unvalidated report length

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.

函数(位于 )负责处理 HCI_LE_Periodic_Advertising_Report(及其 _v2 版本)事件。该函数验证了固定事件头是否存在,并确认控制器声明的 字段符合周期性同步重组缓冲区的尾部空间(tailroom),但从未检查事件实际携带的数据字节数是否与 字段声明的值一致。因此,在两种重组路径下——即 状态,以及在已有链正在处理时的 状态——代码都会调用 ,从事件实际有效载荷的末尾之后开始,复制多达 255 个字节的数据。 由于 字段源自 HCI 控制器,该漏洞在主机与控制器分离的构建模式(hos

CVSS 4.3 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-90832

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 read in Bluetooth Host periodic advertising report reassembly due to unvalidated report length
Source: CVE Program / CVE List V5
Vulnerability Description
bt_hci_le_per_adv_report_common() in subsys/bluetooth/host/scan.c handles the HCI_LE_Periodic_Advertising_Report (and _v2) event. It verified that the fixed event header was present and that the controller-declared Data_Length fits the tailroom of the periodic-sync reassembly buffer, but never checked that the event actually carried as many data bytes as evt->length claims. Both reassembly paths — DATA_STATUS_PARTIAL, and DATA_STATUS_COMPLETE while a chain is already in progress — then called net_buf_simple_add_mem(&per_adv_sync->reassembly, buf->data, evt->length), copying up to 255 bytes starting past the end of the event's real payload. The Data_Length field originates in the HCI controller, so the flaw is reachable in host-only/split builds where the controller is a separate part reached over H4 UART, SPI, USB or an inter-core IPC transport: a malicious, compromised or buggy controller (or an attacker able to inject on that link) can send a report declaring a length larger than the event payload. The generic event dispatcher in subsys/bluetooth/host/hci_core.c only enforces a per-event minimum length and never cross-checks the subevent's internal length field, so nothing else catches it. Builds using Zephyr's own in-image controller are not affected, because the controller always emits a length matching the bytes it appends. Exploitation additionally requires CONFIG_BT_PER_ADV_SYNC with CONFIG_BT_PER_ADV_SYNC_BUF_SIZE > 0 (the option defaults to 0, which compiles the reassembly block out; LE Audio broadcast-sink and Public Broadcast Profile applications that reassemble fragmented periodic advertising data set it), and an established periodic advertising sync. The consequence is an out-of-bounds read of adjacent HCI RX-pool memory — including stale contents of previously received HCI events — which is copied into the reassembly buffer and then delivered to every registered bt_le_per_adv_sync_cb.recv listener as if it were received advertising data, so the disclosed memory becomes application-visible and may be forwarded off-device. The write side remains in bounds because the tailroom check uses the same length value, so there is no memory corruption; impact is limited to information disclosure and undefined behaviour on the over-read. The fix drops any report whose declared length exceeds the remaining event payload, matching the guard already present in the extended and legacy advertising report handlers.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
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.0.0 ~ 4.3.2 -

II. Public POCs for CVE-2026-90832

# 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-90832

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

Other References for CVE-2026-90832 (2)

Same Patch Batch · zephyrproject · 2026-11-10 · 6 CVEs total

CVE-2026-82391 9.1 CRITICAL Out-of-bounds write in Zephyr HTTP/2 server static-filesystem handler via corrupted receiv
CVE-2026-77685 8.3 HIGH Bluetooth Classic RFCOMM: integer underflow in the MCC TEST command handler leads to out-o
CVE-2026-90833 7.8 HIGH Signed offset bypasses bounds check in simulated EEPROM driver, allowing out-of-bounds ker
CVE-2026-87042 6.5 MEDIUM Zephyr PTP: unvalidated Delay_Resp message interval lets an on-link peer wedge the PTP thr
CVE-2026-90834 5.5 MEDIUM UART wide-data syscall verifiers check the 8-bit driver op, allowing a user-mode thread to

IV. Related Vulnerabilities