Skip to main content

Zephyr RTOS EUVDEUVD-2026-46445

| CVE-2026-10675 MEDIUM
Uncontrolled Resource Consumption (CWE-400)
2026-07-21 zephyr
6.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Position within BLE advertising range
  2. Delivery
    Send malformed PB-ADV PDU to trigger prov_failed() and set ADV_LINK_INVALID
  3. Exploit
    Craft FCS-valid PB-ADV PDUs on same link ID
  4. Execution
    Retransmit PDUs at sub-60s intervals to reset protocol watchdog
  5. Persist
    protocol_timeout never fires, dead link persists
  6. Impact
    Device locked: beacon suppressed, Link Open requests rejected

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
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: (1) Bluetooth Mesh PB-ADV provisioning bearer must be enabled on the target device - devices using PB-GATT-only provisioning or with BT Mesh disabled are not affected; (2) The target device must be in an unprovisioned state (not yet commissioned into a mesh network) so that it is accepting Link Open requests and processing PB-ADV PDUs; (3) The attacker must be within BLE advertising range (typically 10-100 m line-of-sight) to transmit on the advertising channel - the CVSS AV:A vector is confirmed by the vendor description; (4) No authentication, pairing, or prior trust relationship is required - PB-ADV PDUs are processed without authentication and the FCS is a keyless CRC-8, meaning any BLE-capable device can craft valid PDUs. Limiting factors are the adjacent-network constraint (physical proximity required), the requirement that the device be unprovisioned at the time of attack, and that the DoS persists only until the device is power-cycled or rebooted. There is no confidentiality, integrity, or memory-safety impact - the sole consequence is blocking the provisioning/re-provisioning workflow.

Impact

The CVSS 3.1 vector AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L scores 4.3 (Medium), which accurately reflects the constrained attack vector (BLE advertising range, roughly 10-100 m) and the bounded impact (availability of provisioning only - no memory-safety, confidentiality, or integrity consequence). The adjacent-vector requirement is the primary risk limiter: an attacker must have radio proximity to the target device, ruling out internet-scale exploitation. Attack complexity is genuinely low once in range - the FCS is a keyless CRC, the link ID is attacker-chosen, and the PDU format is fully specified by the Bluetooth Mesh specification. No privileges or user interaction are required. EPSS data is not provided; given the adjacent-only vector and niche embedded deployment context, opportunistic mass exploitation is unlikely. No CISA KEV listing and no known public exploit code further lower near-term risk. For deployments provisioning BLE Mesh nodes in physically accessible or semi-public spaces (warehouses, factories, smart building installations), the risk is elevated because an attacker with a BLE-capable device (e.g., a laptop or phone) could indefinitely block re-provisioning of nodes after any link failure without being detected by higher-layer systems. The persistent nature of the DoS - surviving until device reboot - makes it more severe in practice than the CVSS A:L score alone suggests.

Exploit ScenarioDerived

An attacker equipped with a BLE-capable device and standard Bluetooth Mesh tooling positions themselves within radio range of an unprovisioned Zephyr Mesh node and transmits a malformed generic-provisioning PDU on a chosen link ID, inducing prov_failed() and setting ADV_LINK_INVALID on the target. The attacker then continues transmitting FCS-valid PB-ADV transaction PDUs on the same link ID at intervals shorter than 60 seconds; each packet resets the protocol watchdog timer, preventing protocol_timeout from ever firing and permanently suppressing the device's unprovisioned beacon. The node remains locked in a dead provisioning state - rejecting all legitimate Link Open requests from the network provisioner - until physically rebooted, achieving an indefinite denial of provisioning with no ongoing authentication requirement.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 22, 2026

Zephyr RTOS Bluetooth Mesh PB-ADV provisioning can be permanently denied on any affected device within BLE advertising range by an unauthenticated remote attacker exploiting a timer-reset logic flaw in subsys/bluetooth/mesh/pb_adv.c. The watchdog timer governing protocol timeouts was rescheduled unconditionally before validity checks, allowing an attacker to hold a dead provisioning link open indefinitely by sending FCS-valid PDUs faster than the 60-120 second timeout interval. The device's unprovisioned beacon is suppressed and all new Link Open requests are rejected for as long as the attacker transmits, rendering the device permanently un-provisionable without a reboot. No public exploit is identified and the vulnerability is not listed in CISA KEV, though the attack requires no authentication and low complexity to execute from within BLE range.

RemediationAI

Upgrade to Zephyr 4.5.0 or later, which incorporates the upstream fix at commit 3f3c37edf80262b838ef5402fec9880c07892e4e (https://github.com/zephyrproject-rtos/zephyr/commit/3f3c37edf80262b838ef5402fec9880c07892e4e). The patch repositions the protocol timer reschedule call in prov_msg_recv() to execute only after the FCS validity check and the ADV_LINK_INVALID check, preventing dead links from being kept alive by incoming packets. Refer to GHSA-4rwg-6mr4-55hc (https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-4rwg-6mr4-55hc) for the vendor advisory. If an immediate upgrade is not feasible, compensating controls include: (1) Disabling BT Mesh PB-ADV provisioning and using PB-GATT if application topology allows - this eliminates the vulnerable code path entirely but requires GATT-capable provisioners; (2) Physically restricting BLE advertising channel access via RF shielding or directional antenna deployments in sensitive environments, accepting the trade-off of reduced provisioning range; (3) Implementing periodic watchdog-triggered reboots of mesh nodes (e.g., daily maintenance window reboot) to recover from any stuck provisioning state, accepting brief service interruptions. Note that the patched version has not been confirmed as a tagged stable release at the time of this analysis - verify that 4.5.0 is formally released before deploying in production.

Affected VersionsENISA

Zephyr 3.5.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 PB-ADV (Provisioning Bearer - Advertising) transport in Bluetooth Mesh carries out device provisioning over raw BLE advertising PDUs. In Zephyr's implementation (subsys/bluetooth/mesh/pb_adv.c), the function prov_msg_recv() is the entry point for incoming PB-ADV transaction PDUs. Prior to the fix, this function called k_work_reschedule() on the protocol watchdog (link.prot_timer) unconditionally at the very top of the function - before the keyless CRC (FCS) validation and before checking the ADV_LINK_INVALID flag. After a provisioning failure, prov_failed() sets ADV_LINK_INVALID and the only recovery is the protocol timer firing (protocol_timeout → prov_link_close → close_link → reset_adv_link), which re-enables BLE scanning and the unprovisioned beacon. Because the timer was reset on every incoming PDU regardless of link state, an attacker could prevent that recovery path from ever executing. The CWE-400 root cause (Uncontrolled Resource Consumption) manifests here as perpetual timer deferral consuming the device's single provisioning-state slot. The FCS is a CRC-8 with no key, so crafting FCS-valid PDUs requires only standard BLE tooling. The commit diff (3f3c37edf80262b838ef5402fec9880c07892e4e) confirms the fix: the timer reschedule call is removed from prov_failed() and repositioned in prov_msg_recv() to execute only after both the FCS and ADV_LINK_INVALID checks pass. CPE: cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*.

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

Adjacent vector (BLE range required), no privileges or interaction needed, availability-only impact limited to provisioning service.

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

Primary rating from Vendor (zephyr).

CVSS VectorNVD

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

Lifecycle Timeline

1
CVSS changed
Jul 30, 2026 - 16:37 NVD
4.3 (MEDIUM) 6.5 (MEDIUM)

DescriptionNVD

In Zephyr's Bluetooth Mesh PB-ADV provisioning bearer (subsys/bluetooth/mesh/pb_adv.c), prov_msg_recv() rescheduled the provisioning protocol watchdog timer unconditionally at the top of the function, before the FCS check and before the ADV_LINK_INVALID check. Once a provisioning attempt fails, prov_failed() sets ADV_LINK_INVALID and the only recovery path is the protocol timer firing (protocol_timeout -> prov_link_close -> close_link -> reset_adv_link and re-enabling of scanning and the unprovisioned device beacon).

A remote, unauthenticated attacker on the BLE advertising channel can first induce a provisioning failure (e.g. with a malformed generic-provisioning PDU) and then transmit any FCS-valid PB-ADV transaction PDU on the same link ID more often than once per protocol timeout (60 s, or 120 s for OOB input/output). Because each such packet reset the timer even on an invalidated link, protocol_timeout never fired, the dead link was never torn down, and the device remained pinned in an un-provisionable state with its unprovisioned beacon disabled and new Link Open requests rejected.

PB-ADV PDUs are processed without authentication and the FCS is a keyless CRC, so no pairing or prior trust is required and the attacker chooses the link ID itself. The impact is a persistent denial of provisioning/re-provisioning service; there is no memory-safety, confidentiality, or integrity impact.

The vulnerable code shipped in releases through v4.4.1. The fix moves the timer reschedule to after the ADV_LINK_INVALID check (and the FCS check before the reset) so an invalidated link can no longer be kept alive by incoming packets.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
popular embedded RTOS for IoT and connected device development
Data Quality
5 sources
Confidence: Medium

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.2%
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· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact· derived
Medium

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

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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