AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Moderate 62 Bitcoin

fix(solana): check unique stake withdraw recipient

Public commit record

What the developer wrote

Authored by Jakub Janků

85/100 · Strong
fix(solana): check unique stake withdraw recipient

Prior to this commit, trezor used special UI flow for solana
transactions that contained only stake withdraw instructions. The
problem was that only the total withdrawn amount was shown without the
per-recipient breakdown of the amount.

This change restricts the use of the special flow only to cases where
the recipient is the same across all withdraw instructions. This unifies
the behavior of the `try_confirm_token_transfer_transaction` and
`try_confirm_staking_transaction` functions. If the recipient differs
from the signer, a warning is shown.

NOTE: This change also fixes the issue that the special flow could be
aborted without user interaction --- this could happen when the
transaction contained one supported instruction (by the special flow)
with a recipient other than the wallet and one unsupported instruction.
First, the user would see the recipient warning (part of the special
flow), but then this flow would be aborted and the default per-
instruction confirmation flow would start.

(cherry picked from commit 6b84dcdd241410c90fce8dbd4d8f8a2454aceeaf)
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This update fixes a display issue in Trezor's Solana staking withdrawal flow. Previously, when withdrawing staked SOL, the device could show only the total amount being withdrawn even if multiple different recipients were involved, and in some mixed transactions it could silently drop back to a normal flow after showing a warning. Now the device requires all withdrawals in a simplified transaction to go to the same recipient, and it explicitly asks the user to confirm that recipient if it is not their own wallet.

Recommended action

Treat this as a security-hardening fix and include it in the next firmware release. Users should update firmware when available. Wallet software integrating Trezor's Solana signing should review whether it previously relied on the simplified staking-withdraw flow for multi-recipient transactions.

Security signals we found

01

UI flow could hide per-recipient amounts in multi-recipient stake withdrawals

02

Mixed transactions could abort special flow after showing a warning, potentially without full user confirmation

03

Changelog filed under .security category

04

Patch unifies behavior with existing token-transfer confirmation logic

Risk score

Why this scored 62/100

Our methodology →
Potential impact 18/30
Exploitability 14/25
Stealth signal 10/15
Affected reach 8/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.