CVE-2020-26559 Overview
CVE-2020-26559 is a cryptographic vulnerability in Bluetooth Mesh Provisioning that affects the Bluetooth Mesh profile versions 1.0 and 1.0.1. The vulnerability allows a nearby device participating in the provisioning protocol to identify the AuthValue used during the provisioning process. By leveraging the Provisioner's public key, along with the confirmation number and nonce provided by the provisioning device, an attacker can complete the provisioning process without possessing the legitimate AuthValue and without needing to brute-force it.
Critical Impact
This vulnerability enables unauthorized devices to join Bluetooth Mesh networks by bypassing the authentication mechanism during provisioning, potentially compromising the security and integrity of the entire mesh network.
Affected Products
- Bluetooth Mesh Profile 1.0.0
- Bluetooth Mesh Profile 1.0.1
- Devices implementing Bluetooth Mesh Provisioning based on affected profile versions
Discovery Timeline
- 2021-05-24 - CVE-2020-26559 published to NVD
- 2025-11-04 - Last updated in NVD database
Technical Details for CVE-2020-26559
Vulnerability Analysis
This vulnerability falls under CWE-863 (Incorrect Authorization) and represents a fundamental weakness in the Bluetooth Mesh Provisioning protocol's cryptographic exchange. The flaw exists in how the provisioning protocol handles the authentication process between a Provisioner and an unprovisioned device.
During legitimate Bluetooth Mesh provisioning, the AuthValue serves as a shared secret that authenticates both parties. However, the protocol's design allows an attacker who can observe the provisioning exchange to mathematically derive the AuthValue from publicly transmitted values. Specifically, when the Provisioner's public key, confirmation number, and nonce are exposed during the provisioning process, these values contain sufficient information to reconstruct the AuthValue.
The attack requires adjacent network access, meaning the attacker must be within Bluetooth range of the provisioning devices. No user interaction or prior privileges are required to exploit this vulnerability, making it particularly concerning for IoT deployments and smart building environments where Bluetooth Mesh networks are common.
Root Cause
The root cause is a cryptographic protocol design flaw in the Bluetooth Mesh Provisioning specification. The protocol fails to adequately protect the AuthValue during the key exchange process. The mathematical relationship between the Provisioner's public key, the confirmation number, and the nonce inadvertently leaks information about the AuthValue, allowing it to be derived rather than requiring brute-force attempts.
Attack Vector
The attack requires an adversary to be within Bluetooth communication range (adjacent network) of the provisioning process. The attacker must:
- Position themselves within range of the provisioning exchange between the Provisioner and the unprovisioned device
- Capture the Provisioner's public key during the key exchange phase
- Obtain the confirmation number and nonce values transmitted by the provisioning device
- Use the captured cryptographic values to mathematically derive the AuthValue
- Complete the provisioning process as if they possessed the legitimate AuthValue
This attack bypasses the need for brute-forcing the AuthValue entirely, significantly reducing the complexity and time required for unauthorized network access. For more technical details, refer to the CERT Vulnerability Note #799380.
Detection Methods for CVE-2020-26559
Indicators of Compromise
- Unexpected or unauthorized devices appearing on Bluetooth Mesh networks
- Anomalous provisioning events occurring without administrator initiation
- Multiple failed provisioning attempts followed by successful completion from unknown devices
- Network traffic anomalies during Bluetooth Mesh provisioning phases
Detection Strategies
- Monitor Bluetooth Mesh network membership for unauthorized device additions
- Implement logging and alerting for all provisioning events on mesh networks
- Conduct regular audits of provisioned devices against authorized device inventory
- Deploy network monitoring solutions capable of analyzing Bluetooth Mesh protocol traffic
Monitoring Recommendations
- Enable detailed logging on Bluetooth Mesh Provisioners for all authentication events
- Establish baseline behavior for provisioning activities and alert on deviations
- Implement periodic network scans to detect unauthorized mesh participants
- Review device provisioning logs for signs of replay or manipulation attempts
How to Mitigate CVE-2020-26559
Immediate Actions Required
- Evaluate all Bluetooth Mesh deployments for affected profile versions (1.0.0 and 1.0.1)
- Limit provisioning operations to physically secure environments where attacker proximity is controlled
- Consider temporarily disabling provisioning capabilities when not actively needed
- Review and audit all currently provisioned devices on affected networks
Patch Information
Organizations should consult with their Bluetooth Mesh device vendors for firmware updates that address this vulnerability. The Bluetooth SIG has published guidance on security reporting and mitigation through their Security Reporting Guide. Updated Bluetooth Mesh profile specifications may include protocol-level fixes that require device firmware updates.
Workarounds
- Conduct provisioning operations only in RF-shielded or physically secured areas to prevent eavesdropping
- Use out-of-band (OOB) authentication methods when available, as they may provide additional protection
- Implement network segmentation to isolate critical systems from potentially compromised mesh networks
- Reduce the provisioning window by enabling provisioning mode only when actively adding new devices
# Configuration example - Bluetooth Mesh security hardening
# Restrict provisioning to authorized time windows only
# Example: Disable open provisioning and require manual activation
# For Linux-based Bluetooth Mesh implementations:
# 1. Disable automatic provisioning acceptance
btmesh-config --set provisioning-mode=manual
# 2. Enable provisioning logging for audit purposes
btmesh-config --set logging-level=verbose --log-provisioning=enabled
# 3. Set provisioning timeout to minimize exposure window
btmesh-config --set provisioning-timeout=30
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


