Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconEstablish Bluetooth Classic adjacency
-
DeliveryNegotiate and open RFCOMM session
-
ExploitWait for or induce local-initiated disconnect
-
InstallSend DISC frame for dlci 0 within DISCONNECTING timing window
-
C2Race condition forces invalid DISCONNECTED state without L2CAP teardown
-
ExecuteSession slot permanently wedged in pool
-
ImpactRepeat to exhaust pool, RFCOMM service denied
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation 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 attacker to be within Bluetooth radio range and have an established Bluetooth Classic RFCOMM connection with the target device (AV:A). The race window only exists during the narrow interval when the local Zephyr stack has entered BT_RFCOMM_STATE_DISCONNECTING - meaning a local-initiated session teardown must already be underway simultaneously with the attacker's DISC transmission (AC:H). The target must be running Zephyr compiled with CONFIG_BT_RFCOMM enabled. The CVSS PR:N metric indicates no system-level privileges are required beyond establishing the Bluetooth connection. Limiting factors include: the attacker cannot remotely trigger or observe the local disconnect event, the timing window is scheduler- and hardware-dependent making consistent triggering uncertain, and impact is strictly limited to availability of RFCOMM service for that peer - no memory corruption, privilege escalation, or data exposure is possible. |
| Impact | The CVSS 3.1 base score of 3.1 (Low) with vector AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L is well-calibrated: exploitation requires physical or radio Bluetooth adjacency (AV:A), a high-complexity timing race difficult to control reliably (AC:H), and yields only limited availability impact (A:L) with no confidentiality or integrity consequence. No EPSS score was included in the source data, so exploitation probability is inferred; the AC:H requirement and absence of both KEV listing and known public exploit code strongly suggest opportunistic mass exploitation is implausible. For most environments this is a low priority, but in Zephyr-based embedded deployments where RFCOMM services are operationally critical - industrial serial-over-Bluetooth, medical device communication, or automotive profiles - repeated DoS of the session pool carries disproportionate operational risk relative to the raw CVSS score. The 'Information Disclosure' tag in the source metadata is inconsistent with both the CVE description (explicitly states no confidentiality consequence) and the CVSS C:N metric; it is assessed as erroneous labeling and should not influence triage. |
| Exploit ScenarioDerived | An attacker within Bluetooth radio range of a Zephyr device establishes an RFCOMM session and then, at the precise moment the local device independently initiates a session teardown, transmits a DISC frame for dlci 0. If the timing race succeeds, the session slot in bt_rfcomm_pool is permanently wedged and the L2CAP channel is never freed. Repeating this across successive reconnects exhausts the session pool, causing all subsequent bt_rfcomm_dlc_connect() calls to return -EINVAL and denying RFCOMM service entirely. No public exploit code exists at time of analysis, and the high-complexity timing requirement makes reliable exploitation difficult to automate. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 30, 2026
Race condition in Zephyr RTOS Bluetooth Classic RFCOMM host stack (v4.4.0 and earlier) permanently wedges session state and exhausts the fixed bt_rfcomm_pool when a peer-transmitted DISC frame for dlci 0 collides with a simultaneous local-initiated teardown. The underlying L2CAP channel is never released and the session slot is never reclaimed, eventually denying RFCOMM service to the targeted peer across repeated occurrences. No public exploit identified at time of analysis; the CVSS 3.1 score of 3.1 (Low) with AV:A/AC:H accurately reflects both the Bluetooth adjacency prerequisite and the high-complexity timing race required.
RemediationAI
Apply the upstream fix from commit c67b59f891a3a8697f1edb2a0e559fc267e75cc2 in the ZephyrProject repository (https://github.com/zephyrproject-rtos/zephyr/commit/c67b59f891a3a8697f1edb2a0e559fc267e75cc2); the patch conditions the transition to BT_RFCOMM_STATE_DISCONNECTED on the session not already being in DISCONNECTING, preserving the proper L2CAP teardown path. A specific patched tagged release version is not independently confirmed from available data - only a commit reference is provided - so monitor the Zephyr release channel and advisory GHSA-4m37-wp5x-hq4h for an official release build. Where immediate patching is not feasible, disable the Bluetooth Classic RFCOMM profile by setting CONFIG_BT_RFCOMM=n in the Kconfig build configuration; the trade-off is loss of all RFCOMM-dependent Bluetooth Classic services (e.g., Serial Port Profile). Alternatively, restrict Bluetooth adjacency to trusted pre-paired devices and disable Bluetooth discoverable mode, which reduces exposure but does not eliminate the race for already-connected peers.
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
The defect resides in subsys/bluetooth/host/classic/rfcomm.c within the Zephyr real-time operating system, an open-source embedded OS maintained by the Linux Foundation and the ZephyrProject consortium. RFCOMM (Radio Frequency Communication) is a Bluetooth Classic protocol that emulates RS-232 serial behavior over L2CAP (Logical Link Control and Adaptation Protocol) channels. The root cause is CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization): the RFCOMM session state machine enters BT_RFCOMM_STATE_DISCONNECTING (DISC sent, RTX timer armed) when the local device initiates teardown, but rfcomm_handle_disc() unconditionally invokes rfcomm_session_disconnected() - forcing state to BT_RFCOMM_STATE_DISCONNECTED - without completing the L2CAP channel release via bt_l2cap_chan_disconnect(). The RTX timer is simultaneously cancelled, and later UA frames are silently discarded in the DISCONNECTED state. This leaves the conn pointer populated in the bt_rfcomm_pool[CONFIG_BT_MAX_CONN] fixed array, consuming a session slot indefinitely. Affected products are identified by CPE cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:* through v4.4.0.
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:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Bluetooth radio adjacency required (AV:A), high-complexity timing race to win (AC:H), impact is availability-only and limited to session slot denial (A:L) with no C or I consequence.
Primary rating from Vendor (zephyr).
CVSS VectorVendor: zephyr
DescriptionCVE.org
A race condition in the Zephyr Bluetooth Classic RFCOMM host stack (subsys/bluetooth/host/classic/rfcomm.c) mishandles a simultaneous bidirectional session disconnect. When the local device has initiated a session teardown (state BT_RFCOMM_STATE_DISCONNECTING, DISC sent, RTX timer armed) and the connected peer concurrently sends its own DISC frame for dlci 0, rfcomm_handle_disc() invokes rfcomm_session_disconnected(), which unconditionally forced the session to BT_RFCOMM_STATE_DISCONNECTED without ever calling bt_l2cap_chan_disconnect().
Because the recovery timer was also cancelled and a later UA is ignored in the DISCONNECTED state, the session becomes permanently wedged: the underlying L2CAP channel is never released and the session slot in the fixed bt_rfcomm_pool[CONFIG_BT_MAX_CONN] array is never reclaimed (its conn pointer stays set).
Subsequent bt_rfcomm_dlc_connect() calls on that connection fail with -EINVAL due to the invalid session state, so RFCOMM service is denied for that peer, and repeated occurrences can exhaust the session pool. The DISC frame is peer-controlled over the air, but exploitation requires the peer's DISC to collide with a local-initiated disconnect (a high-complexity timing race). Impact is availability/resource-leak only; there is no memory-safety, confidentiality, or integrity consequence. The defect shipped in released versions (present in v4.4.0 and earlier).
The fix only transitions to DISCONNECTED when the session is not already in DISCONNECTING, preserving the proper L2CAP teardown path.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).
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-40369
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB