|
|
@@ -582,6 +582,10 @@ typedef struct {
|
|
|
/** Out of Band information field. */
|
|
|
esp_ble_mesh_prov_oob_info_t oob_info;
|
|
|
|
|
|
+ /* NOTE: In order to avoid suffering brute-forcing attack (CVE-2020-26559).
|
|
|
+ * The Bluetooth SIG recommends that potentially vulnerable mesh node
|
|
|
+ * support an out-of-band mechanism to exchange the public keys.
|
|
|
+ */
|
|
|
/** Flag indicates whether unprovisioned devices support OOB public key */
|
|
|
bool oob_pub_key;
|
|
|
|
|
|
@@ -635,12 +639,21 @@ typedef struct {
|
|
|
/** Provisioning Algorithm for the Provisioner */
|
|
|
uint8_t prov_algorithm;
|
|
|
|
|
|
+ /* NOTE: In order to avoid suffering brute-forcing attack(CVE-2020-26559).
|
|
|
+ * The Bluetooth SIG recommends that potentially vulnerable mesh provisioners
|
|
|
+ * use an out-of-band mechanism to exchange the public keys.
|
|
|
+ */
|
|
|
/** Provisioner public key oob */
|
|
|
uint8_t prov_pub_key_oob;
|
|
|
|
|
|
/** Callback used to notify to set device OOB Public Key. Initialized by the stack. */
|
|
|
esp_ble_mesh_cb_t provisioner_prov_read_oob_pub_key;
|
|
|
|
|
|
+ /* NOTE: The Bluetooth SIG recommends that mesh implementations enforce a randomly
|
|
|
+ * selected AuthValue using all of the available bits, where permitted by the
|
|
|
+ * implementation. A large entropy helps ensure that a brute-force of the AuthValue,
|
|
|
+ * even a static AuthValue, cannot normally be completed in a reasonable time (CVE-2020-26557).
|
|
|
+ */
|
|
|
/** Provisioner static oob value */
|
|
|
uint8_t *prov_static_oob_val;
|
|
|
/** Provisioner static oob value length */
|