CVE-2026-10651: Out-of-bounds read in Bluetooth Classic SDP attribute parsing (`bt_sdp_parse_attribute`)

Published Jun 22, 2026
·
Updated

btsdpparseattribute() in subsys/bluetooth/host/classic/sdp.c validated only that the SDP record buffer held the type-marker byte plus the 2-byte attribute ID (a check of buf->len < 3) but then read a fourth byte, the data-element descriptor (type), via netbufsimplepullu8(). Because netbufsimplepullu8() dereferences buf->data[0] before its only bounds guard (an ASSERTNOMSG that compiles out when CONFIGASSERT is disabled, the production default), a record of exactly three bytes (0x09 followed by a 2-byte attribute ID) causes a one-byte read past the end of the logical buffer. The parser is reachable from inbound, remote-controlled data: a Bluetooth BR/EDR peer acting as an SDP server returns discovery-response records that are stored verbatim in the client receive buffer and parsed via the public btsdpgetattr()/btsdphasattr()/btsdprecordparse() helpers. The over-read is bounded to a single byte that is used only as an internal length selector and is never leaked to the attacker; subsequent length checks then reject the malformed record. Realistic impact is therefore limited to an edge-case denial of service (a fault only if the record ends exactly at a mapped-memory boundary, or a deterministic assert panic when CONFIGASSERT=y). Affects Zephyr v4.3.0 and v4.4.0; fixed by adding sizeof(type) to the length check.

Affected Software

2 affected components
Zephyr Project Zephyr RTOS
zephyrproject zephyr<=4.4.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Ensure CONFIG_ASSERT is enabled so the __ASSERT_NO_MSG bounds guard in net_buf_simple_pull_u8() is not compiled out, preventing the out-of-bounds read from turning into a production fault.

    Zephyr/ASSERT CONFIG_ASSERT = enable/disable

Event History

Jun 22, 2026
CVE Published
via MITRE·11:54 PM
Data Sourced
via MITRE·11:54 PM
DescriptionSeverityWeakness
Jun 23, 2026
Data Sourced
via NVD·01:16 AM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-10651?

The severity of CVE-2026-10651 is rated as high with a score of 7.1.

2

How do I fix CVE-2026-10651?

To fix CVE-2026-10651, update to the latest version of Zephyr RTOS where the vulnerability has been patched.

3

What is the impact of CVE-2026-10651?

CVE-2026-10651 can lead to a reachable assertion and possible out-of-bounds read, which could compromise system integrity.

4

Which software is affected by CVE-2026-10651?

The vulnerability affects the Zephyr Project's Zephyr RTOS.

5

What does CVE-2026-10651 exploit in Bluetooth Classic?

CVE-2026-10651 exploits a truncation bug in the Bluetooth Classic SDP parser that occurs due to improper input validation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203