Skip to content

fix: TON blind sign — stop displaying deprecated fields not in raw_tx#243

Open
BitHighlander wants to merge 2 commits into
developfrom
fix/ton-blind-sign
Open

fix: TON blind sign — stop displaying deprecated fields not in raw_tx#243
BitHighlander wants to merge 2 commits into
developfrom
fix/ton-blind-sign

Conversation

@BitHighlander
Copy link
Copy Markdown
Owner

Summary

  • Finding 2 fix: fsm_msgTonSignTx displayed to_address and amount from the TonSignTx message's optional fields. These fields are deprecated convenience metadata — they are not bound to raw_tx (the bytes actually signed by Ed25519). An attacker can supply a different address/amount in those fields while embedding entirely different instructions in raw_tx.
  • Removed the conditional display of deprecated to_address/amount fields.
  • Added a blind-sign confirmation showing the actual byte count of raw_tx: "Sign %u-byte TON transaction?" — forces the user to acknowledge they are signing raw bytes they cannot inspect on-device.
  • Matches the same fix applied to TRON (fix/tron-blind-sign).

Files Changed

  • lib/firmware/fsm_msg_ton.h — remove deprecated field display, add raw blind-sign confirmation

Test Plan

  • TON send transaction: device shows byte-count blind-sign prompt instead of deprecated to/amount fields
  • User can confirm or cancel the blind-sign prompt
  • raw_tx is still signed correctly after the confirmation change

fsm_msgTonSignTx displayed to_address and amount from deprecated proto
fields that are NOT included in the raw_tx bytes being signed. A malicious
host could show one transfer on screen while getting a different transaction
signed — identical CVE pattern to TronSignTx.

Replace with a single blind-sign prompt showing only the raw_tx byte count.
deps/device-protocol → 8ef74da (feat(ripple): memo + THORChain routing)
deps/python-keepkey  → bf870e6 (7.14.2: XRP memo + EVM depositWithExpiry + msg-signing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant