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

Reject witness-only UTXO for legacy inputs; Suppress fee for unverified witness UTXOs;normalize legacy inputs to proper utxo

Public commit record

What the developer wrote

Authored by scgbckbone

50/100 · Thin
Reject witness-only UTXO for legacy inputs; Suppress fee for unverified witness UTXOs;normalize legacy inputs to proper utxo
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
The short version

What changed, and why it matters

This update fixes a bug in the COLDCARD hardware wallet where a malicious or malformed Bitcoin transaction file (PSBT) could trick the device into using the wrong amount of money for a non-SegWit (legacy) input. Specifically, if the file only provided a lightweight 'witness UTXO' for a legacy input, the device would trust that amount. An attacker could lie about the amount, making the transaction look like it had a normal fee when it actually sent much more to the miner or another recipient. The fix rejects such files for legacy inputs, prefers the full previous transaction when both types are present, and suppresses fee calculation when a witness-only UTXO cannot be verified as genuinely SegWit.

Recommended action

Treat this as a security fix and include it in the next firmware release. Users should upgrade when available. Wallet software that builds PSBTs for COLDCARD should ensure legacy inputs include the full non-witness UTXO (the previous transaction), not just a witness UTXO. Review any custom PSBT construction or test helpers for similar assumptions.

Security signals we found

01

Fixes legacy input amount spoofing via witness-only UTXO

02

Rejects PSBT inputs that provide only PSBT_IN_WITNESS_UTXO for non-SegWit inputs the device must sign

03

Prefers full non_witness_utxo over witness_utxo when both are present

04

Suppresses fee calculation when witness UTXO cannot be verified as SegWit

05

Adds redeem-script-based proof that a P2SH witness UTXO is genuinely SegWit

06

Changelog explicitly calls the issue a bugfix and credits @Damir

Risk score

Why this scored 78/100

Our methodology →
Potential impact 24/30
Exploitability 18/25
Stealth signal 12/15
Affected reach 10/15
Confidence 9/10
Evidence quality 5/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.