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

Merge pull request #663 from Foundation-Devices/fix/psbt-output-value-bounds

Public commit record

What the developer wrote

Authored by Jacksper13

58/100 · Thin
Merge pull request #663 from Foundation-Devices/fix/psbt-output-value-bounds

Reject invalid PSBT amounts
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
The short version

What changed, and why it matters

This update tightens the checks on Bitcoin transaction amounts inside PSBT files handled by the Passport hardware wallet. Before, the firmware did not fully enforce Bitcoin's rule that no single output or input, and no running total, can exceed about 21 million bitcoins (MAX_MONEY). A malicious or buggy companion app could craft a PSBT with oversized, negative, or zero input amounts. The device might then compute a wrong fee or balance, which could trick a user into approving a transaction that sends more than intended, or that hides a large fee. The patch now rejects such PSBTs immediately.

Recommended action

Treat this as a security-hardening fix and include it in the next firmware release. Review whether any other PSBT amount fields (change detection, fee warnings, display formatting) also need MAX_MONEY validation. Run the new unit tests in CI and consider adding integration tests with malformed PSBTs from untrusted host software.

Security signals we found

01

Bounds checking added for per-output and total output amounts

02

Bounds checking added for per-input and total input amounts

03

Replaces a weak assert(utxo.nValue > 0) with proper FatalPSBTIssue error handling

04

Prevents PSBTs with consensus-invalid amounts from influencing fee/balance calculations

05

Adds unit tests for amount validation

Risk score

Why this scored 72/100

Our methodology →
Potential impact 22/30
Exploitability 16/25
Stealth signal 10/15
Affected reach 12/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.