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

Merge pull request #969 from ruipereira1/fix/ur2-bytewords-crc-width

Public commit record

What the developer wrote

Authored by Nick Klockenga

73/100 · Adequate
Merge pull request #969 from ruipereira1/fix/ur2-bytewords-crc-width

Serialize the Bytewords CRC as a fixed 4 bytes and re-enable the checksum check
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit fixes a bug in how SeedSigner creates and verifies Bytewords checksums, a format used to encode data (such as crypto wallet information) as readable words or compact strings. The checksum was sometimes output as 3 bytes instead of the required 4 bytes, which could cause other wallets or scanners to reject the encoded data. It also re-enables a previously disabled checksum verification, so corrupted data is now properly rejected instead of being silently accepted.

Recommended action

Review whether any previously generated Bytewords frames were produced with the buggy 3-byte CRC and may have been backed up or shared; such frames should be regenerated. Ensure the new tests pass and consider adding a regression test for the exact 3-byte CRC boundary. No immediate remote exploit path is evident, but users should upgrade to a build containing this fix to restore data integrity guarantees.

Security signals we found

01

Data integrity failure: truncated payload on ~1/256 encodings due to variable-width CRC serialization

02

Disabled integrity check re-enabled: corrupted Bytewords input was silently accepted

03

Spec non-compliance: UR/Bytewords requires a fixed 4-byte CRC32

04

Interoperability risk: spec-compliant decoders would reject or misdecode affected frames

Risk score

Why this scored 64/100

Our methodology →
Potential impact 18/30
Exploitability 12/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.