build: increment the firmware secure version
What changed, and why it matters
This commit bumps the firmware 'secure version' number from 1 to 2 across all production builds of the Blockstream Jade hardware wallet. On its own, increasing this number is a defensive measure that prevents the device from accepting older firmware (anti-rollback). It does not by itself fix a bug, but it is typically done after a security fix so that attackers cannot downgrade to a vulnerable version. The change is therefore a security-related build configuration update, not a direct vulnerability patch.
Treat this as a signal that a prior firmware release likely contained a security fix worth rolling out. Users should upgrade to the new firmware and avoid downgrading. Reviewers should look at preceding commits/releases to identify the actual vulnerability that motivated the secure-version bump, and monitor Blockstream's channels for an advisory.
Security signals we found
Anti-rollback secure version incremented in production firmware configs
Change affects all current Jade hardware variants (Jade, v1.1, v2, v2c)
No code-level vulnerability fix is present in this commit
No vendor security advisory or CVE reference included in commit message
Evidence from the diff
The commit modifies four ESP32 sdkconfig production default files to set CONFIG_BOOTLOADER_APP_SECURE_VERSION to 2 (or adds it where absent). This option works with CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK to enforce a minimum firmware secure version at boot. Incrementing the secure version is normally paired with a prior security fix to block downgrade attacks. The diff alone does not reveal what vulnerability prompted the increment, and no advisory or researcher attribution is present in the commit.
Changed components
Blockstream Jade production firmware build configurationESP32 bootloader secure-version enforcementAll supported Jade hardware variantsInspect captured patch +4 / −3
diff --git a/production/sdkconfig_jade_prod.defaults b/production/sdkconfig_jade_prod.defaults
index 402e7c9..385d30a 100644
--- a/production/sdkconfig_jade_prod.defaults
+++ b/production/sdkconfig_jade_prod.defaults
@@ -8,7 +8,7 @@ CONFIG_BF20A6_SUPPORT=n
CONFIG_BF3005_SUPPORT=n
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
-CONFIG_BOOTLOADER_APP_SECURE_VERSION=1
+CONFIG_BOOTLOADER_APP_SECURE_VERSION=2
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_WDT_ENABLE=n
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
diff --git a/production/sdkconfig_jade_v1_1_prod.defaults b/production/sdkconfig_jade_v1_1_prod.defaults
index d891f79..b6c8165 100644
--- a/production/sdkconfig_jade_v1_1_prod.defaults
+++ b/production/sdkconfig_jade_v1_1_prod.defaults
@@ -9,7 +9,7 @@ CONFIG_BF3005_SUPPORT=n
CONFIG_BOARD_TYPE_JADE_V1_1=y
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
-CONFIG_BOOTLOADER_APP_SECURE_VERSION=1
+CONFIG_BOOTLOADER_APP_SECURE_VERSION=2
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_WDT_ENABLE=n
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
diff --git a/production/sdkconfig_jade_v2_prod.defaults b/production/sdkconfig_jade_v2_prod.defaults
index 9e83026..8883b64 100644
--- a/production/sdkconfig_jade_v2_prod.defaults
+++ b/production/sdkconfig_jade_v2_prod.defaults
@@ -5,7 +5,7 @@ CONFIG_BF3005_SUPPORT=n
CONFIG_BOARD_TYPE_JADE_V2=y
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
-CONFIG_BOOTLOADER_APP_SECURE_VERSION=1
+CONFIG_BOOTLOADER_APP_SECURE_VERSION=2
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_WDT_ENABLE=n
CONFIG_BOOT_ROM_LOG_ALWAYS_OFF=y
diff --git a/production/sdkconfig_jade_v2c_prod.defaults b/production/sdkconfig_jade_v2c_prod.defaults
index c7239b8..0c148c8 100644
--- a/production/sdkconfig_jade_v2c_prod.defaults
+++ b/production/sdkconfig_jade_v2c_prod.defaults
@@ -5,6 +5,7 @@ CONFIG_BF3005_SUPPORT=n
CONFIG_BOARD_TYPE_JADE_V2C=y
CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
+CONFIG_BOOTLOADER_APP_SECURE_VERSION=2
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_WDT_ENABLE=n
CONFIG_BOOT_ROM_LOG_ALWAYS_OFF=y
Why this scored 24/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.