Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperate rogue BLE peripheral within Bluetooth range
-
DeliveryAccept connection from target Zephyr GATT client
-
ExploitWait for target to initiate BT_GATT_DISCOVER_STD_CHAR_DESC
-
ExecutionReply to ATT Read By Type Request with rsp->len = 0
-
PersistInfinite loop traps Bluetooth host processing thread
-
ImpactBT subsystem hangs and watchdog resets constrained device
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the local Zephyr device to act as a GATT client and actively initiate BT_GATT_DISCOVER_STD_CHAR_DESC discovery against a peer - the vulnerable code path in parse_read_std_char_desc() is only reached when the host sends an ATT Read By Type Request for standard characteristic descriptors and then processes the peer's response. GATT discovery is explicitly noted in the description as not requiring bonding or encryption, meaning the CVSS PR:N assignment is confirmed: no pre-established trust, credential, or encrypted session is required. The attacker must be within Bluetooth adjacency range and able to control or impersonate a GATT server that the target device connects to. Exploitation is constrained to the Bluetooth adjacency network vector (AV:A); remote internet-based exploitation is not possible. Devices that never act as GATT clients, never initiate descriptor discovery, or that have CONFIG_BT_GATT_CLIENT disabled at compile time are not reachable via this code path. |
| Impact | The CVSS 3.1 vector AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H scoring 6.5 is well-calibrated to the actual threat: Bluetooth adjacency bounds the attack surface to roughly 10-100 meters, eliminating internet-scale exploitation, but within that range the attack is trivially low complexity and requires no authentication, credentials, or user interaction. The high availability impact accurately reflects that a hung host processing thread disables the entire BT subsystem. On severely constrained embedded targets, a watchdog reset compounds the impact by causing device reboots. No EPSS score was included in the input data, preventing quantitative exploitation-probability comparison; this gap should be resolved before prioritization decisions are finalized. The absence of a KEV listing and of identified POC code suggests no active widespread exploitation at time of analysis, though even a mid-sized municipal IT team in gliwice deploying Zephyr-based BLE devices in a public space should treat this as urgent given that the publicly available commit diff and security advisory fully disclose the vulnerable code path and fix logic, making independent exploit development straightforward. The wildcard CPE indicates NVD has not bounded the affected version range, which is a notable data gap: defenders cannot confirm whether they are on an unaffected release without checking the specific commit. |
| Exploit ScenarioDerived | An attacker operating a rogue BLE peripheral or modified BLE stack within Bluetooth range waits for or induces the target Zephyr device to connect and initiate GATT standard-descriptor-value discovery. The attacker responds to the ATT Read By Type Request with a crafted response containing rsp->len = 0, causing the Zephyr Bluetooth host processing thread to enter an infinite re-parse loop. The BT subsystem hangs, and on constrained targets a watchdog reset occurs, interrupting all Bluetooth functionality until the device reboots. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Infinite loop denial of service in the Zephyr RTOS Bluetooth GATT client allows an unauthenticated adjacent attacker to permanently hang the Bluetooth host processing thread by sending a crafted ATT Read By Type Response with a zero-length stride value during standard descriptor discovery. Affected targets - which span all Zephyr versions per the wildcard CPE - face a hung BT subsystem and likely a watchdog reset on constrained embedded hardware, rendering Bluetooth functionality inoperative. No public exploit code or CISA KEV listing exists at time of analysis, but the upstream commit diff publicly discloses the exact offending code path, substantially lowering the barrier to exploit development.
RemediationAI
The primary remediation is to apply upstream commit 494283d469a95b294badaf45c639de433bf5e35a from the Zephyr project (https://github.com/zephyrproject-rtos/zephyr/commit/494283d469a95b294badaf45c639de433bf5e35a), which inserts a rsp->len < sizeof(struct bt_att_data) check before the parse loop, ensuring the stride is always non-zero and the loop terminates. A formally tagged patched release version has not been independently confirmed from available data - only the commit hash is known - so monitor the Zephyr security advisory at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-483r-jq2x-5cp9 for a versioned release announcement before closing remediation tickets. Where immediate patching is not feasible, consider disabling BT_GATT_DISCOVER_STD_CHAR_DESC discovery at the firmware build configuration level, which prevents the vulnerable code path from being reached entirely but reduces GATT client interoperability with peripherals that expose standard descriptors. Alternatively, restricting connections to an allowlist of bonded and trusted peers requires configuring bonding and reduces interoperability with unknown BLE devices, though it meaningfully narrows the attack surface since the vulnerability is triggerable only by a peer the device voluntarily connects to.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Zephyr RTOS (CPE: cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*) is an embedded RTOS with a native Bluetooth Low Energy stack. The vulnerability resides in subsys/bluetooth/host/gatt.c within the function parse_read_std_char_desc(), which processes ATT Read By Type Responses during BT_GATT_DISCOVER_STD_CHAR_DESC operations. The per-entry stride rsp->len is sourced directly from the peer-controlled PDU and used both as the loop exit condition (length >= rsp->len) and the pointer advancement step (length -= rsp->len, pdu += rsp->len) without any minimum-value validation. CWE-835 (Loop with Unreachable Exit Condition) describes the root cause precisely: when a peer sends rsp->len = 0, the unsigned length counter never decrements, the exit condition is permanently satisfied, and the loop body continues re-parsing the same bytes indefinitely while repeatedly invoking the discovery callback. The sibling parsers parse_include() and parse_characteristic() already enforced a sizeof(struct bt_att_data) lower bound on rsp->len; this function was the sole omission. The fix, visible in commit 494283d, adds an identical guard before the loop entry.
Know when Zephyr gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Adjacent vector confirmed by Bluetooth requirement; PR:N because GATT discovery needs no authentication; A:H for complete BT thread hang; no C or I impact.
Primary rating from Vendor (zephyr).
CVSS VectorVendor: zephyr
DescriptionCVE.org
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. This hangs the Bluetooth host processing thread (CWE-835, loop with unreachable exit condition).
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. The sibling parsers parse_include() and parse_characteristic() already validated rsp->len and are unaffected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),
An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on
Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit
Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS
Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner
Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability
Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable
DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul
zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(
Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul
The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte
Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c
EUVD-2026-58131
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB