Skip to main content

Zephyr RTOS EUVDEUVD-2026-40369

| CVE-2026-10654 LOW
Race Condition (CWE-362)
2026-06-30 zephyr
3.1
CVSS 3.1 · Vendor: zephyr
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Establish Bluetooth Classic adjacency
  2. Delivery
    Negotiate and open RFCOMM session
  3. Exploit
    Wait for or induce local-initiated disconnect
  4. Install
    Send DISC frame for dlci 0 within DISCONNECTING timing window
  5. C2
    Race condition forces invalid DISCONNECTED state without L2CAP teardown
  6. Execute
    Session slot permanently wedged in pool
  7. Impact
    Repeat 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.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Zephyr 1.6.0 <4.5.0

Affected Packages

euvd zephyr fix: 4.5.0

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

Vendor (zephyr) PRIMARY 3.1 LOW
AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 3.1 LOW

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.

3.1 AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:A/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

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

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Low
embedded IoT RTOS, specialized niche deployment footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

16
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +16
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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).

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy