Skip to main content

Zephyr RTOS CVE-2026-2411

| EUVDEUVD-2026-51869 MEDIUM
Incorrect Authorization (CWE-863)
2026-08-01 zephyr
6.5
CVSS 3.1 · Vendor: zephyr
View

Attack ChainAIDerived

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

  1. Access
    Scan for Zephyr BLE device and enumerate GATT services
  2. Delivery
    Connect without pairing or encryption
  3. Exploit
    Write CCC descriptor to enable notifications on encrypt-required characteristic
  4. Execution
    Host checks declaration attribute permissions (unconditional read - no security required)
  5. Persist
    Host emits characteristic value over unsecured link
  6. Impact
    Attacker captures protected characteristic data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 all four of the following conditions simultaneously: (1) the target application declares notify or indicate characteristics with BT_GATT_PERM_READ_ENCRYPT, BT_GATT_PERM_READ_AUTHEN, or LESC-required permissions set on the Characteristic Value attribute; (2) the application passes the Characteristic Declaration attribute (not the value attribute) to bt_gatt_notify_cb() or bt_gatt_indicate(), which is the documented and common idiom; (3) the Client Characteristic Configuration descriptor for that characteristic is writable without pairing or at a lower security tier than the characteristic value itself, allowing an unauthenticated peer to enable notifications; and (4) the attacker is physically within Bluetooth radio range of the target device (AV:A). Exploitation is blocked when: applications directly pass the value attribute pointer to the notify/indicate API; when the CCC write requires the same security level as the characteristic value; or when the Bluetooth controller enforces link-layer encryption independently of the host stack. The vulnerability has no effect on characteristics declared without encrypt or authen requirements.

Impact

CVSS 6.5 with vector AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N reflects adjacent-network unauthenticated access with high confidentiality impact, which is accurate for the described flaw. The adjacent attack vector (AV:A) is the primary risk-limiting factor: exploitation requires Bluetooth radio proximity, ruling out internet-scale attacks. No EPSS score was provided in the input. No CISA KEV listing exists and no public exploit or proof-of-concept has been identified, reducing urgency compared to a KEV-listed issue. Real-world exploitability is further constrained by two application-level conditions that must co-exist: the application must declare notify/indicate characteristics with encrypt or authen requirements, and the CCC descriptor must be writable at a lower security tier. In many well-hardened BLE deployments both the characteristic value and its CCC would be gated at the same security level, closing the window. The high confidentiality impact is meaningful only when the protected characteristic carries sensitive data such as health metrics, keys, or proprietary sensor values. There is no integrity or availability impact, and no memory-safety concern.

Exploit ScenarioDerived

An attacker with a standard BLE dongle and knowledge of a target device's sensitive characteristic UUID (discoverable via GATT enumeration) connects to the Zephyr device without pairing, writes the Client Characteristic Configuration descriptor to enable notifications, and receives the full characteristic value - such as a health sensor reading or proprietary telemetry - over the unencrypted link. The server emits the data because it evaluated the Characteristic Declaration's unconditional read permission instead of the value's encryption requirement. No public proof-of-concept has been identified, but the attack requires only commodity BLE tooling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Aug 01, 2026

Bluetooth GATT notification and indication paths in Zephyr RTOS 2.6.0 through 4.4.x skip the application-configured encryption, authentication, and LESC security requirements for characteristic values when the application follows the documented idiom of passing the Characteristic Declaration attribute to the notify/indicate APIs. A remote Bluetooth peer within radio range can connect without pairing and trigger the server to emit protected characteristic values over an unsecured link by writing the Client Characteristic Configuration descriptor, achieving an access-control bypass and information disclosure. No public exploit is identified at time of analysis; exploitation requires adjacent network access and specific application configuration.

RemediationAI

Upgrade to Zephyr 4.5.0 or later, which incorporates the upstream fix from commit c3386f92fe81bd10dc23e6a115e6a80a7d863546 (https://github.com/zephyrproject-rtos/zephyr/commit/c3386f92fe81bd10dc23e6a115e6a80a7d863546). The fix introduces bt_gatt_attr_resolve_value(), which maps any Characteristic Declaration attribute to the immediately following Characteristic Value attribute before bt_gatt_check_perm() is invoked in gatt_notify_cb(), gatt_indicate(), and gatt_notify_multiple_verify_params(), and also expands the Notify-Multiple permission mask to BT_GATT_PERM_READ_ENCRYPT_MASK to enforce LESC requirements. For applications unable to upgrade immediately, two workarounds are available: first, modify application code to pass the Characteristic Value attribute pointer directly to bt_gatt_notify_cb() and bt_gatt_indicate() rather than the declaration pointer, which avoids the mis-checked path entirely; second, require pairing or bonding before the CCC descriptor itself is writable, preventing unauthenticated peers from enabling notifications in the first place. The second workaround has the trade-off of restricting CCC access to paired devices only, which may affect usability in open-advertising scenarios. See the advisory at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-4w3r-v9q9-4462.

Affected VersionsENISA

Zephyr 2.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

Zephyr RTOS implements the Generic Attribute Profile (GATT) per the Bluetooth Core Specification in subsys/bluetooth/host/gatt.c (CPE: cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*). Each GATT characteristic is stored as two consecutive entries in the attribute table: a Characteristic Declaration (UUID BT_UUID_GATT_CHRC) whose permissions are hard-coded to BT_GATT_PERM_READ, immediately followed by the Characteristic Value attribute that carries the application-specified security flags such as BT_GATT_PERM_READ_ENCRYPT, BT_GATT_PERM_READ_AUTHEN, or the LESC variant. The bt_gatt_notify_cb(), bt_gatt_indicate(), and gatt_notify_multiple_verify_params() functions each call bt_gatt_check_perm() against params->attr to enforce link security before sending data. When params->attr references the declaration (the documented and common idiom), the check evaluates the declaration's unconditional read permission rather than the value's security requirement, silently bypassing the intended access control. The Notify-Multiple path had an additional defect: the permission mask omitted the LE Secure Connections bit. Root cause is CWE-863 (Incorrect Authorization): the authorization decision operates on the wrong attribute object.

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 6.5 MEDIUM
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

AV:A because Bluetooth radio proximity is required; PR:N because the remote peer connects and triggers the flaw without any credentials; C:H for full disclosure of protected characteristic values; no integrity or availability impact.

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

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

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

DescriptionCVE.org

Zephyr's Bluetooth host declares a GATT characteristic as two consecutive attributes: a Characteristic Declaration whose permission is hard-coded to BT_GATT_PERM_READ, and a Characteristic Value attribute that carries the application-specified security permissions (e.g. BT_GATT_PERM_READ_ENCRYPT / READ_AUTHEN / READ_LESC). The public notify and indicate APIs explicitly accept either attribute, and passing the declaration is the documented, common idiom. Before sending each notification or indication, the host re-checks link security with bt_gatt_check_perm() against params->attr in gatt_notify(), gatt_indicate(), and gatt_notify_multiple_verify_params() (subsys/bluetooth/host/gatt.c).

When the application passed the Characteristic Declaration attribute, the host correctly redirected the value handle but left params->attr pointing at the declaration, so the security check evaluated the declaration's permissions (no security required) instead of the value's. As a result the encryption/authentication/LESC requirement configured on the characteristic value was skipped. The Notify-Multiple path additionally used a mask that omitted the LE Secure Connections requirement.

A remote peer triggers the disclosure by connecting (optionally without pairing or encryption) and writing the Client Characteristic Configuration descriptor to enable notifications or indications, causing the server to emit the protected value over a link that has not reached the required security level. The impact is information disclosure / access-control bypass for characteristic values the application intended to expose only over a secured link; exposure depends on the application declaring encrypt/authen-required notify/indicate characteristics and on the CCC being writable at a lower security tier. There is no memory-safety or availability impact.

The fix adds bt_gatt_attr_resolve_value(), which maps a declaration attribute to the following value attribute before the permission check, and switches the Notify-Multiple path to the full BT_GATT_PERM_READ_ENCRYPT_MASK so the LESC requirement is also enforced.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Medium
popular embedded RTOS widely used in commercial IoT and BLE devices
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Scheduled
Exploitation
None
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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