config: enable maximum stack protections for dev devices
What changed, and why it matters
This commit changes a compiler setting in four development configuration files for the Blockstream Jade hardware wallet. It switches the stack overflow protection level from 'STRONG' to 'ALL' for developer devices only. This is a defensive hardening step, not a fix for an active security flaw. There is no evidence in the commit of any vulnerability being patched.
No security response needed. Treat as routine defensive hardening. Monitor the follow-up production configuration change referenced in the commit message if tracking hardening posture.
Security signals we found
Defensive hardening: increases stack canary coverage on dev devices
No vulnerability or exploit mechanism present in diff
No change to production configuration files
No functional code changes
Evidence from the diff
The patch updates ESP-IDF sdkconfig defaults for four dev board configurations (Jade v1.1 and v2, with and without radio) to set CONFIG_COMPILER_STACK_CHECK_MODE_ALL instead of CONFIG_COMPILER_STACK_CHECK_MODE_STRONG. In ESP-IDF, ‘ALL’ adds stack canary checks to all function entries, whereas ‘STRONG’ applies them only to functions allocating large stack buffers. The commit message explicitly frames this as a ‘preparatory step for increasing production stack checking.’ No code logic is changed, no bug is fixed, and no exploit path is described.
Changed components
configs/sdkconfig_dev_jade_v1_1.defaultsconfigs/sdkconfig_dev_jade_v1_1_noradio.defaultsconfigs/sdkconfig_dev_jade_v2.defaultsconfigs/sdkconfig_dev_jade_v2_noradio.defaultsInspect captured patch +4 / −4
diff --git a/configs/sdkconfig_dev_jade_v1_1.defaults b/configs/sdkconfig_dev_jade_v1_1.defaults
index 705077b..7304c79 100644
--- a/configs/sdkconfig_dev_jade_v1_1.defaults
+++ b/configs/sdkconfig_dev_jade_v1_1.defaults
@@ -29,7 +29,7 @@ CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=100
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
-CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
+CONFIG_COMPILER_STACK_CHECK_MODE_ALL=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=y
CONFIG_ESP32_REV_MIN_3=y
diff --git a/configs/sdkconfig_dev_jade_v1_1_noradio.defaults b/configs/sdkconfig_dev_jade_v1_1_noradio.defaults
index 4ffc395..69bf9fe 100644
--- a/configs/sdkconfig_dev_jade_v1_1_noradio.defaults
+++ b/configs/sdkconfig_dev_jade_v1_1_noradio.defaults
@@ -15,7 +15,7 @@ CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=100
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
-CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
+CONFIG_COMPILER_STACK_CHECK_MODE_ALL=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE=y
CONFIG_ESP32_REV_MIN_3=y
diff --git a/configs/sdkconfig_dev_jade_v2.defaults b/configs/sdkconfig_dev_jade_v2.defaults
index a279231..fe6fe95 100644
--- a/configs/sdkconfig_dev_jade_v2.defaults
+++ b/configs/sdkconfig_dev_jade_v2.defaults
@@ -23,7 +23,7 @@ CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=100
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
-CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
+CONFIG_COMPILER_STACK_CHECK_MODE_ALL=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
diff --git a/configs/sdkconfig_dev_jade_v2_noradio.defaults b/configs/sdkconfig_dev_jade_v2_noradio.defaults
index ec06bfe..b60d953 100644
--- a/configs/sdkconfig_dev_jade_v2_noradio.defaults
+++ b/configs/sdkconfig_dev_jade_v2_noradio.defaults
@@ -10,7 +10,7 @@ CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=100
CONFIG_BUTTON_LONG_PRESS_TIME_MS=500
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
-CONFIG_COMPILER_STACK_CHECK_MODE_STRONG=y
+CONFIG_COMPILER_STACK_CHECK_MODE_ALL=y
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
Why this scored 15/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.