fix(core): drop `info` argument from confirm_blob
What changed, and why it matters
This commit removes an unused 'More info' option from several on-screen confirmation helpers in the Trezor firmware. The change is a UI cleanup: screens that never actually provided extra information no longer offer a 'More info' button. There is no direct evidence in the commit that this fixed an exploitable security vulnerability.
No urgent action required. Treat as routine UI cleanup. If auditing, verify downstream callers no longer pass `info` and that the removed menu item did not previously expose sensitive data; the diff suggests it was simply unused.
Security signals we found
UI-only change with no cryptographic, authorization, or memory-safety modifications
Changelog frames change as a fix for misleading UI, not a security vulnerability
No references to CVEs, advisories, or security researchers in commit or supplied materials
Evidence from the diff
The confirm_blob layout function across four Trezor UI themes (bolt, caesar, delizia, eckhart) had an info: bool = True parameter that controlled whether a ‘More info’ menu item was shown. The commit drops that parameter and removes info=False from callers (show_passphrase_from_host, confirm_replacement). The changelog entry says ‘Removed “More info” menu item from screens that don’t have more info.’ This is a consistency/cleanup change; the diff does not show any bug fix, memory safety issue, or bypass.
Changed components
core/src/trezor/ui/layouts/bolt/__init__.pycore/src/trezor/ui/layouts/caesar/__init__.pycore/src/trezor/ui/layouts/delizia/__init__.pycore/src/trezor/ui/layouts/eckhart/__init__.pyInspect captured patch +1 / −11
diff --git a/core/.changelog.d/6053.fixed b/core/.changelog.d/6053.fixed
new file mode 100644
index 00000000..e5c4b6f6
--- /dev/null
+++ b/core/.changelog.d/6053.fixed
@@ -0,0 +1 @@
+Removed "More info" menu item from screens that don't have more info.
diff --git a/core/src/trezor/ui/layouts/bolt/__init__.py b/core/src/trezor/ui/layouts/bolt/__init__.py
index 32f21476..81a8442c 100644
--- a/core/src/trezor/ui/layouts/bolt/__init__.py
+++ b/core/src/trezor/ui/layouts/bolt/__init__.py
@@ -271,7 +271,6 @@ async def show_passphrase_from_host(passphrase: str | None) -> None:
"passphrase_host2",
TR.passphrase__title_confirm,
passphrase or "",
- info=False,
)
@@ -727,7 +726,6 @@ def confirm_blob(
subtitle: str | None = None,
verb: str | None = None,
verb_cancel: str | None = None,
- info: bool = True,
hold: bool = False,
br_code: ButtonRequestType = BR_CODE_OTHER,
ask_pagination: bool = False,
diff --git a/core/src/trezor/ui/layouts/caesar/__init__.py b/core/src/trezor/ui/layouts/caesar/__init__.py
index 422ec6ac..893a0032 100644
--- a/core/src/trezor/ui/layouts/caesar/__init__.py
+++ b/core/src/trezor/ui/layouts/caesar/__init__.py
@@ -289,7 +289,6 @@ async def show_passphrase_from_host(passphrase: str | None) -> None:
"passphrase_host2",
TR.passphrase__title_confirm,
passphrase or "",
- info=False,
)
@@ -741,7 +740,6 @@ def confirm_blob(
subtitle: str | None = None,
verb: str | None = None,
verb_cancel: str | None = None, # icon
- info: bool = True,
hold: bool = False,
br_code: ButtonRequestType = BR_CODE_OTHER,
ask_pagination: bool = False,
diff --git a/core/src/trezor/ui/layouts/delizia/__init__.py b/core/src/trezor/ui/layouts/delizia/__init__.py
index 15100138..aebbdf8a 100644
--- a/core/src/trezor/ui/layouts/delizia/__init__.py
+++ b/core/src/trezor/ui/layouts/delizia/__init__.py
@@ -296,7 +296,6 @@ async def show_passphrase_from_host(passphrase: str | None) -> None:
"passphrase_host2",
TR.passphrase__title_confirm,
passphrase or "",
- info=False,
)
@@ -672,7 +671,6 @@ def confirm_blob(
subtitle: str | None = None,
verb: str | None = None,
verb_cancel: str | None = None,
- info: bool = True,
hold: bool = False,
br_code: ButtonRequestType = BR_CODE_OTHER,
ask_pagination: bool = False,
@@ -721,7 +719,6 @@ def confirm_blob(
subtitle=subtitle,
verb=verb,
verb_cancel=verb_cancel,
- info=info,
hold=hold,
chunkify=chunkify,
prompt_screen=prompt_screen,
@@ -1429,7 +1426,6 @@ def confirm_replacement(title: str, txid: str) -> Awaitable[None]:
txid,
TR.send__transaction_id,
verb=TR.buttons__continue,
- info=False,
br_code=ButtonRequestType.SignTx,
prompt_screen=False,
)
diff --git a/core/src/trezor/ui/layouts/eckhart/__init__.py b/core/src/trezor/ui/layouts/eckhart/__init__.py
index 8cb87db2..d8d66ce4 100644
--- a/core/src/trezor/ui/layouts/eckhart/__init__.py
+++ b/core/src/trezor/ui/layouts/eckhart/__init__.py
@@ -668,7 +668,6 @@ def confirm_blob(
subtitle: str | None = None,
verb: str | None = None,
verb_cancel: str | None = None,
- info: bool = True,
hold: bool = False,
br_code: ButtonRequestType = BR_CODE_OTHER,
ask_pagination: bool = False,
@@ -713,7 +712,6 @@ def confirm_blob(
description=description,
subtitle=subtitle,
verb=verb,
- info=info,
hold=hold,
chunkify=chunkify,
cancel=True,
@@ -1452,7 +1450,6 @@ def confirm_replacement(title: str, txid: str) -> Awaitable[None]:
txid,
subtitle=TR.send__transaction_id,
verb=TR.buttons__continue,
- info=False,
br_code=ButtonRequestType.SignTx,
)
Why this scored 19/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.