Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconEnter BLE radio range of target device
-
DeliveryCraft UUID16 AD structure with length byte < 3
-
ExploitBroadcast non-connectable BLE advertisement (no pairing needed)
-
Installbt_mesh_sol_recv() performs reported_len - 3 integer underflow
-
C2Negative result widens to large size_t, bypasses length guard
-
Executenet_buf_simple_pull_mem() advances data pointer out of bounds
-
ImpactOut-of-bounds write corrupts memory causing DoS or code execution
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | CONFIG_BT_MESH_OD_PRIV_PROXY_SRV must be explicitly enabled at build time - this is a non-default Bluetooth Mesh configuration governing the On-Demand Private Proxy Server feature; devices not compiled with this option are not vulnerable. The device must be running a production or release build without Zephyr assertions (CONFIG_ASSERT=n or not set), which is the standard firmware shipping profile; assertion-enabled builds abort before the corrupted pointer is used, limiting impact to denial of service rather than arbitrary write. The attacker must be within BLE radio range (typically up to ~100 meters in open environments, less through walls) to deliver the crafted advertising payload. No authentication, pairing, bonding, or prior association with the target device is required - any BLE device capable of transmitting non-connectable advertisements can trigger the flaw. The CVSS PR:L score conflicts with this zero-association requirement and should not be used to gate access-control mitigations. |
| Impact | The raw CVSS 3.1 base score of 6.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) presents two notable discrepancies with the technical description that analysts must reconcile before relying on it for prioritization. First, the attack vector is scored AV:N (Network) but the mechanism - BLE advertising - requires physical radio proximity of typically 10-100 meters; AV:A (Adjacent Network) would be the more accurate classification. This inflates the apparent network-reachability of the flaw. Second, PR:L (Low Privileges) contradicts the description's explicit statement that 'no pairing or prior association' is required, which corresponds to PR:N. If the vector were corrected to AV:A/PR:N, the score would shift but the qualitative risk profile changes materially: exploitation is physically gated but completely unauthenticated against any device in radio range. EPSS at 0.02% (6th percentile) reflects no current mass exploitation activity, and the flaw is not listed in CISA KEV. However, the combination of zero-interaction exploitation, embedded IoT targets that often lack runtime memory protections, and potential RCE impact elevates practical risk for deployments with CONFIG_BT_MESH_OD_PRIV_PROXY_SRV enabled above what the 6.3 score suggests. The assertion-disabled condition (standard for production firmware) removes the only built-in mitigating safety net. |
| Exploit ScenarioDerived | An attacker carrying a BLE-capable device (e.g., a laptop or Raspberry Pi with a USB BLE adapter) positions themselves within radio range of a Zephyr-based Mesh node running with CONFIG_BT_MESH_OD_PRIV_PROXY_SRV enabled in a release build. The attacker broadcasts a non-connectable BLE advertisement containing a UUID16 AD structure with a crafted length byte set to a value less than 3 (e.g., 0x01), requiring no pairing handshake or prior knowledge of the target device. The malformed PDU triggers the integer underflow in bt_mesh_sol_recv(), the resulting out-of-bounds memory write corrupts heap or stack data, and the device crashes (denial of service) or - depending on memory layout and target architecture - executes attacker-controlled code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 05, 2026
Integer underflow in Zephyr RTOS Bluetooth Mesh solicitation handling (versions ≤ 4.3.0) allows any physically proximate, unauthenticated BLE device to corrupt memory via a crafted advertising PDU, potentially causing denial of service or arbitrary code execution on the target device. The flaw resides in bt_mesh_sol_recv() within the OD Private Proxy Server feature and requires no prior pairing or device association to trigger. No public exploit has been identified at time of analysis and EPSS probability is low at 0.02%, but the combination of zero-interaction exploitation and RCE impact on embedded IoT devices warrants prioritization where this configuration is deployed.
RemediationAI
The primary remediation is to upgrade Zephyr RTOS to a version that includes the fix for GHSA-4pm9-4v7f-x6gr; however, an exact patched release version is not confirmed from the available input data - consult the Zephyr Project advisory at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-4pm9-4v7f-x6gr and the VulDB entry at https://vuldb.com/vuln/368410 for the confirmed fix version before upgrading. The most effective immediate workaround is to disable CONFIG_BT_MESH_OD_PRIV_PROXY_SRV in the build configuration; this eliminates the vulnerable code path entirely, though it disables the On-Demand Private Proxy Server functionality, which may affect network privacy features for Bluetooth Mesh nodes. If disabling the feature is not feasible, enabling Zephyr's assertion mechanism (CONFIG_ASSERT=y) in production builds will cause the affected device to abort rather than proceed with the corrupted pointer, reducing the RCE risk to a denial-of-service condition - note this trade-off: assertions increase firmware size and introduce hard faults on abnormal input, which may be unacceptable in availability-sensitive deployments. Physical access controls or RF shielding to limit BLE advertising reception provide additional defense-in-depth but are not standalone mitigations.
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 is an open-source real-time operating system widely used in constrained IoT and embedded devices. The affected component is the Bluetooth Mesh On-Demand Private Proxy Server feature, gated by the Kconfig option CONFIG_BT_MESH_OD_PRIV_PROXY_SRV, implemented in subsys/bluetooth/mesh/solicitation.c. The root cause class is CWE-787 (Out-of-Bounds Write) arising from an integer underflow: bt_mesh_sol_recv() reads an attacker-controlled reported_len byte directly from a raw BLE advertising payload and computes reported_len - 3 in signed integer arithmetic without first verifying reported_len >= 3. When reported_len is 0, 1, or 2, the subtraction produces a negative signed integer that passes the subsequent length guard check, and this value is then implicitly widened to size_t - an unsigned type - when forwarded to net_buf_simple_pull_mem(). On common 32- or 64-bit architectures this produces a very large positive value (e.g., 0xFFFFFFFD for reported_len=0), causing net_buf_simple_pull_mem() to advance the internal data pointer far past the allocated buffer boundary. In release builds compiled without Zephyr assertions, no runtime abort occurs, so subsequent memory reads and writes target arbitrary process memory. Affected CPE per EUVD: Zephyr * ≤ 4.3.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:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Primary rating from Vendor (zephyrproject) · only source for this CVE.
CVSS VectorVendor: zephyrproject
Lifecycle Timeline
2DescriptionCVE.org
An integer underflow in bt_mesh_sol_recv() in the Bluetooth Mesh solicitation handling (subsys/bluetooth/mesh/solicitation.c) leads to an out-of-bounds write. When CONFIG_BT_MESH_OD_PRIV_PROXY_SRV is enabled, the function parses solicitation PDUs from raw BLE advertising payloads. The AD parsing loop reads an attacker-controlled length byte (reported_len) and computes reported_len - 3 without checking that reported_len >= 3. When reported_len is less than 3, the subtraction is performed in signed int arithmetic and yields a negative value that bypasses the length guard and is then implicitly converted to a very large size_t when passed to net_buf_simple_pull_mem(). In builds without assertions, this wraps the buffer length and advances the data pointer far out of bounds, so subsequent reads dereference invalid memory. A nearby BLE device can trigger this with a non-connectable advertisement carrying a UUID16 AD structure and a crafted length byte, with no pairing or prior association required, potentially leading to denial of service or arbitrary code execution.
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
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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-34322
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB