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

psbt: track whether an unsigned tx key was seen

Public commit record

What the developer wrote

Authored by Sjors Provoost

60/100 · Adequate
psbt: track whether an unsigned tx key was seen

A provided unsigned tx with no inputs and outputs is
indistinguishable from the empty placeholder.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
The short version

What changed, and why it matters

This change fixes a subtle parsing bug in how the wallet software reads PSBT (Partially Signed Bitcoin Transaction) files. Previously, the code could not tell the difference between a PSBT that genuinely contained an unsigned transaction with zero inputs and outputs, and a PSBT where the unsigned transaction was simply missing. This could allow a malformed or intentionally crafted PSBT to be treated as valid when it should have been rejected, potentially leading to incorrect transaction handling or confusion in hardware wallet workflows.

Recommended action

Review whether any downstream callers or hardware wallet integrations rely on the old behavior of accepting a missing unsigned tx key when self.tx.is_null(). Ensure the new test vector is exercised in CI. Consider whether additional PSBT edge cases (e.g., duplicate global unsigned tx keys) need similar key-presence tracking.

Security signals we found

01

Ambiguous sentinel value used as a proxy for key presence

02

PSBT version-specific validation bypass possible

03

New test vector added for empty unsigned transaction edge case

04

Validation logic changed from content-based to key-presence-based

Risk score

Why this scored 46/100

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