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

fix: reject PSBT inputs with non-standard sighash types before signing (#844)

Public commit record

What the developer wrote

Authored by Odudex

98/100 · Strong
fix: reject PSBT inputs with non-standard sighash types before signing (#844)

Adds pre-sign validation that refuses to sign if any input requests SIGHASH_NONE, SIGHASH_SINGLE, or ANYONECANPAY, which could allow an attacker to redirect funds after signing. Addresses security audit C2 of #843
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
The short version

What changed, and why it matters

Krux is a small, open-source Bitcoin signing device (hardware wallet). This commit fixes a security flaw where the device would sign transactions even if the sender asked it to use unusual Bitcoin signature modes—specifically SIGHASH_NONE, SIGHASH_SINGLE, or ANYONECANPAY. Those modes can let someone else change where the money goes after the device has already signed, which could be abused to steal funds. The fix makes the device refuse to sign any PSBT (the file format used to pass a transaction around) that contains those non-standard modes. The project labels this as a security fix for an external audit finding.

Recommended action

Users should upgrade to a firmware release containing this commit and avoid signing PSBTs produced by untrusted software until patched. Developers integrating Krux should ensure any custom PSBT workflows only request SIGHASH_ALL or SIGHASH_DEFAULT.

Security signals we found

01

Explicit security fix for externally-reported audit finding (#843 C2)

02

Pre-sign validation added to reject non-standard sighash types

03

Relevant to transaction-replacement / fund-redirect attacks via SIGHASH_NONE/SINGLE/ANYONECANPAY

04

Changelog categorized as "Security Fixes"

05

Unit tests added for both rejection and acceptance cases

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.