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

fix(zcash): require an owned singleton input

Public commit record

What the developer wrote

Authored by Adam Tucker

57/100 · Thin
fix(zcash): require an owned singleton input
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
The short version

What changed, and why it matters

This commit changes how the Keystone hardware wallet validates Zcash PCZT (partially-created transaction) files before signing. Previously, under a 'batch' policy it required at least one shielded input belonging to the wallet. After the change, the wallet also accepts a transaction as 'mine' if it contains an owned transparent input, even when there are no signable shielded actions. The title says the fix 'requires an owned singleton input.' The practical effect is to broaden the cases where the wallet will proceed with signing, while still rejecting transactions that have no inputs controlled by the wallet at all. The commit does not describe this as a security fix in its message, but the change is in a security-sensitive signing-check path.

Recommended action

Treat this as a security-relevant correctness fix in the Zcash signing path. Review the full policy around 'singleton' ownership to ensure the new transparent-input exception cannot be combined with foreign shielded inputs to trick the device into co-signing a partially-owned transaction. Verify that check_pczt_transparent correctly identifies inputs truly controlled by the wallet and that has_my_transparent_input cannot be set by outputs or non-owned inputs. Consider requesting a CVE only if further analysis shows an exploitable bypass of the 'no my inputs' guard.

Security signals we found

01

Change in transaction ownership validation before signing

02

New condition combines empty shielded actions with absence of transparent inputs to reject PCZT

03

Test renamed to expect rejection at check phase for foreign seed

04

New test verifies owned transparent input alone is accepted

05

Title frames change as a fix: 'require an owned singleton input'

Risk score

Why this scored 57/100

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