PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-12236 zephyrproject CVE debrief

A malicious or malfunctioning Bluetooth device can cause a denial-of-service attack on the Bluetooth subsystem by exploiting a vulnerability in the GATT client function, specifically in the parse_read_std_char_desc() function in subsys/bluetooth/host/gatt.c. The vulnerability occurs when the device initiates standard-descriptor-value discovery, allowing an unauthenticated adjacent attacker to trigger it. This happens because the minimum value of rsp->len was never validated before the loop, and a malicious or malfunctioning peer can reply with rsp->len = 0, causing an infinite loop. The impact is denial of service of the Bluetooth subsystem, and there is no memory disclosure or corruption. The fix adds a rsp->len < sizeof(struct bt_att_data) check before the loop, rejecting under-length responses so the stride is always non-zero and the loop terminates. Users of Bluetooth devices, particularly those using the Zephyr RTOS, and administrators of systems with Bluetooth connectivity should be aware of this vulnerability and apply the fix to prevent exploitation.

Vendor
zephyrproject
Product
zephyr
CVSS
MEDIUM 6.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-08-13
Original CVE updated
2026-08-26
Advisory published
2026-08-13
Advisory updated
2026-08-26

Who should care

Users of Bluetooth devices, particularly those using the Zephyr RTOS, and administrators of systems with Bluetooth connectivity should be aware of this vulnerability and apply the fix to prevent exploitation. Affected operators should review their Bluetooth configurations and monitor for suspicious activity. Vulnerability management and security teams should prioritize patching and verify that compensating controls are in place for exposed systems.

Technical summary

The Bluetooth host GATT client function parse_read_std_char_desc() in subsys/bluetooth/host/gatt.c parses an ATT Read By Type Response received from a remote GATT server during BT_GATT_DISCOVER_STD_CHAR_DESC discovery. The per-entry stride rsp->len is taken directly from the peer's PDU, and the parse loop both tests its exit condition (length >= rsp->len) and advances (length -= rsp->len, pdu += rsp->len) using that value. The minimum value of rsp->len was never validated before the loop. A malicious or malfunctioning peer can reply with rsp->len = 0. Because length is unsigned and never decreases, the loop condition stays true forever and the read pointer never advances; as long as the body is at least a few bytes with a non-zero handle and a matching descriptor UUID, the host repeatedly re-parses the same bytes and invokes the discovery callback, never terminating. The condition is reachable by any connected peer once the local device initiates standard-descriptor-value discovery; GATT discovery does not require bonding or encryption, so an unauthenticated adjacent attacker that the device connects to can trigger it. The impact is denial of service of the Bluetooth subsystem (and likely a watchdog reset on constrained targets); there is no memory disclosure or corruption. The fix adds a rsp->len < sizeof(struct bt_att_data) check before the loop, rejecting under-length responses so the stride is always non-zero and the loop terminates.

Defensive priority

The Bluetooth subsystem is vulnerable to a denial-of-service attack. Apply the fix to prevent exploitation.

Recommended defensive actions

  • Apply the fix to prevent exploitation
  • Verify the Bluetooth subsystem configuration
  • Monitor for suspicious activity
  • Review compensating controls for exposed systems while remediation is scheduled and verified
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review
  • Track exceptions, retest remediated assets, and close the item only after evidence is documented
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up

Evidence notes

The vulnerability is caused by the lack of validation of the rsp->len value, which can lead to an infinite loop. The fix adds a check to reject under-length responses. This issue is reachable by any connected peer once the local device initiates standard-descriptor-value discovery; GATT discovery does not require bonding or encryption, so an unauthenticated adjacent attacker that the device connects to can trigger it. Evidence is limited; defenders should verify Bluetooth subsystem configurations, review connected device lists, and monitor for suspicious activity.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-12236 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-12236

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-12236 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-12236

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.