What changed, and why it matters
This commit removes the 'ipc' feature flag from three build scripts by default, and only enables it when external app loading is supported on the T3W1 model. IPC stands for inter-process communication, and these particular system calls were reportedly unused. There is no direct evidence in the commit that this fixes an active security vulnerability; it appears to be a cleanup or hardening change to reduce unused attack surface.
No immediate action required. Treat as routine hardening. If IPC syscalls had any implementation, review that code for residual unused entry points and ensure the feature flag fully gates compilation.
Security signals we found
Reduction of unused syscall/IPC attack surface
Feature gating of IPC to a specific model and external-app configuration
No changelog entry, indicating routine cleanup rather than security advisory
Evidence from the diff
The change modifies FEATURES_WANTED lists in core/SConscript.firmware, core/SConscript.kernel, and core/SConscript.unix. Previously ‘ipc’ was included unconditionally. Now it is removed from the default feature set and only appended when TREZOR_MODEL is ‘T3W1’ and EXTAPP_SUPPORT is enabled. The commit title says ‘remove unused ipc syscalls’ and carries [no changelog], suggesting a maintenance/hardening patch rather than a vulnerability fix.
Changed components
core/SConscript.firmwarecore/SConscript.kernelcore/SConscript.unixTrezor Core firmware build configurationT3W1 external application loading pathInspect captured patch +3 / −6
diff --git a/core/SConscript.firmware b/core/SConscript.firmware
index 5beee664..32a844ea 100644
--- a/core/SConscript.firmware
+++ b/core/SConscript.firmware
@@ -63,7 +63,6 @@ FEATURES_WANTED = [
"dma2d",
"haptic",
"input",
- "ipc",
"optiga",
"power_manager",
"rgb_led",
@@ -95,7 +94,7 @@ if DBG_CONSOLE != "":
FEATURES_WANTED += ["dbg_console"]
if TREZOR_MODEL in ['T3W1'] and EXTAPP_SUPPORT:
- FEATURES_WANTED += ["app_loading"]
+ FEATURES_WANTED += ["app_loading", "ipc"]
if N4W1:
assert PYOPT == "0", "N4W1 requires PYOPT=0"
diff --git a/core/SConscript.kernel b/core/SConscript.kernel
index c2a8c47c..cb0e64d0 100644
--- a/core/SConscript.kernel
+++ b/core/SConscript.kernel
@@ -50,7 +50,6 @@ FEATURES_WANTED = [
"dma2d",
"haptic",
"input",
- "ipc",
"kernel_mode",
"optiga",
"power_manager",
@@ -83,7 +82,7 @@ if not TREZOR_MODEL in ['T3W1', 'D002']:
FEATURES_WANTED += ["secure_mode"]
if TREZOR_MODEL in ['T3W1'] and EXTAPP_SUPPORT:
- FEATURES_WANTED += ["app_loading"]
+ FEATURES_WANTED += ["app_loading", "ipc"]
if DISABLE_OPTIGA:
# TODO use PYOPT instead of PRODUCTION, same as in firmware, blocked on #4253
diff --git a/core/SConscript.unix b/core/SConscript.unix
index 2b95ace4..05c3d563 100644
--- a/core/SConscript.unix
+++ b/core/SConscript.unix
@@ -38,7 +38,6 @@ FEATURES_WANTED = [
"display",
"dma2d",
"input",
- "ipc",
"kernel_mode",
"optiga",
"powerctl",
@@ -69,7 +68,7 @@ if not DISABLE_TROPIC:
FEATURES_WANTED.append('tropic')
if TREZOR_MODEL in ['T3W1'] and EXTAPP_SUPPORT:
- FEATURES_WANTED += ["app_loading"]
+ FEATURES_WANTED += ["app_loading", "ipc"]
if N4W1:
assert PYOPT == "0", "N4W1 requires PYOPT=0"
Why this scored 12/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.