fix(core): show ETH public key derivation path
What changed, and why it matters
This commit fixes a user-interface detail on Trezor hardware wallets: when displaying an Ethereum public key on the device screen, it now also shows the derivation path (the sequence of numbers that identifies which account/key the public key belongs to). Previously only the public key was shown. This is a usability and transparency improvement, not a fix for a code vulnerability that could be exploited remotely.
No security action required. Treat as a normal usability fix. If reviewing, verify that address_n_to_str handles empty or unusual paths gracefully and that the display layout does not truncate critical information.
Security signals we found
UI transparency improvement for key derivation path
No changes to authentication, authorization, cryptography, or parsing
No input validation changes
No memory-safety or buffer changes
Evidence from the diff
The change modifies core/src/apps/ethereum/get_public_key.py so that when msg.show_display is true, the call to show_pubkey() includes the derivation path converted to a string via address_n_to_str(msg.address_n). The changelog entry describes this as adding the derivation path to the public key layout. There is no change to cryptographic operations, validation, access control, or memory handling.
Changed components
core/src/apps/ethereum/get_public_key.pyTrezor Core Ethereum public key display flowInspect captured patch +5 / −1
### core/.changelog.d/7582.fixed
@@ -0,0 +1 @@
+Ethereum: Add derivation path to public key layout.
### core/src/apps/ethereum/get_public_key.py
@@ -15,6 +15,9 @@ async def get_public_key(msg: EthereumGetPublicKey) -> EthereumPublicKey:
resp = await bitcoin_get_public_key.get_public_key(btc_pubkey_msg)
if msg.show_display:
- await show_pubkey(resp.node.public_key.hex())
+ from apps.common.paths import address_n_to_str
+
+ path = address_n_to_str(msg.address_n)
+ await show_pubkey(resp.node.public_key.hex(), path=path)
return EthereumPublicKey(node=resp.node, xpub=resp.xpub)Why this scored 20/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.