The CERT Division has published a Vulnerability Note titled Bluetooth implementations may not sufficiently validate elliptic curve parameters during Diffie-Hellman key exchange. It describes a man-in-the-middle attack on the pairing procedures in Bluetooth® Secure Pairing and Bluetooth LE Secure Connections.
The attack described in Vulnerability Note VU#304725 relies on manipulating public keys transmitted during the pairing procedure, and is only possible if an implementation does not validate a public key when it is received.
The Bluetooth SIG has addressed the vulnerability in an erratum document made available to Bluetooth SIG members. The erratum document Erratum 10734: Pairing Updates v1.0 contains changes to the Bluetooth Core Specification to increase the security of the pairing procedures in Bluetooth Secure Pairing and Bluetooth LE Secure Connections.
nRF5 SDKs prior to version 15.0.0 contain experimental implementations of the Bluetooth LE Secure Connections pairing procedure that are vulnerable to the attack described in the Vulnerability Note. These vulnerabilities have been removed in nRF5 SDK v15.0.0. The software modules for use in Bluetooth LE Secure Connections pairing procedures conform to all the changes expressed in the erratum document.
This document shows the changes in the Bluetooth Core Specifications according to the erratum document, and how the relevant software modules in the nRF5 SDK conform to these changes. Key to this is to make the public key validation mandatory in the process instead of this being optional in the pairing procedures.