What changed, and why it matters
This is a small internal tuning change for Trezor's Ethereum app. It increases the amount of transaction data the device preloads from 4 KB to 6 KB before asking the user to confirm. The only visible effect is fewer back-and-forth data requests for Ethereum transactions with large data payloads. There is no direct security fix or vulnerability being patched.
No security action required. Treat as routine maintenance. If reviewing, verify that increasing the preloaded buffer does not affect memory constraints on supported device models.
Security signals we found
No security-relevant keywords in commit title or message
No changelog entry requested ([no changelog])
Change is a constant tuning of preloaded buffer size
No bounds-check, input-validation, or cryptographic changes
No CVE, advisory, or security attribution in commit or references
Evidence from the diff
The commit changes _MAX_DATA_STORED from 4096 to 6144 bytes in core/src/apps/ethereum/sign_tx.py and updates the corresponding device test expectations so that an extra 1024-byte chunk is requested before the UI confirmation prompt. This is a behavior/performance tweak (chore) for Ethereum transaction signing flow, not a security patch.
Changed components
core/src/apps/ethereum/sign_tx.pytests/device_tests/ethereum/test_signtx.pyInspect captured patch +2 / −3
diff --git a/core/src/apps/ethereum/sign_tx.py b/core/src/apps/ethereum/sign_tx.py
index 546a8ff2..15c9e98a 100644
--- a/core/src/apps/ethereum/sign_tx.py
+++ b/core/src/apps/ethereum/sign_tx.py
@@ -176,7 +176,7 @@ async def confirm_data_and_summary(
await confirm_summary
-_MAX_DATA_STORED = const(4096)
+_MAX_DATA_STORED = const(6144)
_DATA_CHUNK_SIZE = const(1024)
diff --git a/tests/device_tests/ethereum/test_signtx.py b/tests/device_tests/ethereum/test_signtx.py
index e185fde6..695b183c 100644
--- a/tests/device_tests/ethereum/test_signtx.py
+++ b/tests/device_tests/ethereum/test_signtx.py
@@ -312,9 +312,8 @@ def test_data_streaming(session: Session):
expected_responses += [message_filters.EthereumTxRequest(data_length=None)]
else:
expected_responses: list[ExpectedResponse] = []
- expected_responses += [tx_request(l) for l in (1024, 1024, 1024)]
+ expected_responses += [tx_request(l) for l in (1024, 1024, 1024, 3)]
expected_responses += [br_sign_tx("confirm_data")]
- expected_responses += [tx_request(3)]
if client.model is models.T3T1 or client.model is models.T3W1:
# related issue: https://github.com/trezor/trezor-firmware/issues/6490
# TODO: make these consistent!
Why this scored 18/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.