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

fix(legacy): abort on coinjoin coin-name mismatch

Public commit record

What the developer wrote

Authored by Andrew Kozlik

80/100 · Strong
fix(legacy): abort on coinjoin coin-name mismatch

Enforces a check aligning the behavior with core. The missing check did
not yield anything an attacker couldn't get from a legitimate coinjoin
round on the authorized coin. The inputs signed are always from the
authorized SLIP-25 account regardless of what coin_name claims.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
✓ 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 commit fixes a bug in the older Trezor firmware (legacy) where a CoinJoin signing session would not be properly aborted if the requested coin name did not match the one in the prior authorization. Before the fix, the device sent an error message but continued processing, which could allow a malicious or mismatched transaction to proceed. The fix adds an explicit abort and return so the signing stops immediately, matching the behavior of newer Trezor firmware (core). The commit message downplays the practical risk, noting an attacker could not gain more than from a legitimate CoinJoin on the authorized coin.

Recommended action

Treat as a low-to-moderate security hardening fix. Merge the patch and ensure the new regression test passes. Review other failure paths in legacy signing.c for similar missing abort/return patterns after fsm_sendFailure().

Security signals we found

01

Missing control-flow termination after security failure (CWE-691, CWE-248)

02

CoinJoin authorization bypass risk due to incomplete abort on coin-name mismatch

03

Behavior alignment with core firmware (defense-in-depth consistency)

04

New regression test added for wrong coin name in preauthorized CoinJoin

Risk score

Why this scored 34/100

Our methodology →
Potential impact 8/30
Exploitability 5/25
Stealth signal 4/15
Affected reach 6/15
Confidence 7/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.