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

fix(solana): fall back to generic UI if stake lockup set

Public commit record

What the developer wrote

Authored by Jakub Janků

93/100 · Strong
fix(solana): fall back to generic UI if stake lockup set

Prior to this change, the predefined staking flow allowed
lockup.custodian = _SYSTEM_PROGRAM_ID, lockup.epoch > 0, and
lockup.unix_timestamp > 0. However, these values were not displayed
to the user. This could lead to the user loosing access to their
funds if the time values were set to distant future.

The change should not modify the behavior when working with Suite since
it generates init instructions with lockup.epoch=0 and
lockup.unix_timestamp=0:

https://github.com/trezor/trezor-suite/blob/7de6f3e/networks/solana/network-solana/src/runtime/stakingUtils.ts#L104-L118

Partially fixes: https://github.com/satoshilabs/trezor-firmware/issues/325

(cherry picked from commit 5a12ad231741e0406f9d7f7a0b2e15a7237f0bbd)
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This update fixes a security gap in Trezor's handling of Solana staking. Previously, if someone set up a stake account with a future unlock date (a 'lockup') using values that Trezor's normal flow didn't expect, the device would silently approve the transaction without showing those lockup details on screen. That could trap a user's funds until a far-future date. The fix makes Trezor fall back to a more detailed, generic confirmation screen whenever a lockup is present, so the user can see and approve the terms explicitly.

Recommended action

Treat this as a security fix and include it in the next firmware release. Users who sign Solana staking transactions through non-Suite dApps should update. Review other predefined transaction flows for similar fields that are accepted but not displayed.

Security signals we found

01

Hidden lockup parameters in a predefined signing flow

02

User-visible confirmation bypass for time-locked funds

03

Fallback to generic UI for unreviewed instruction fields

04

Funds-availability risk due to undisclosed future unlock conditions

Risk score

Why this scored 60/100

Our methodology →
Potential impact 18/30
Exploitability 12/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.