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

blindpsbt: require genuine commitments in VerifyBlindValueProof

Public commit record

What the developer wrote

Authored by Byron Hambly

73/100 · Adequate
blindpsbt: require genuine commitments in VerifyBlindValueProof

An explicit 9-byte value (or a null field) passed the IsNull() check and
its buffer was then parsed as a 33-byte Pedersen commitment, reading past
the end. Require IsCommitment() on both the value and asset fields so the
parser's length precondition holds and the out-of-bounds read is avoided.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit fixes a bug in the way confidential transaction value proofs are validated. Previously, the code accepted an explicit 9-byte value or an empty field where a 33-byte cryptographic commitment was expected. It then passed that shorter buffer to a library that always reads 33 bytes, causing it to read past the end of the data. The fix now requires both the value and asset fields to be genuine 33-byte commitments before handing them to the parser, preventing an out-of-bounds read.

Recommended action

Apply this patch. Review other call sites that pass confidential value/asset buffers to libsecp256k1 to ensure they also validate IsCommitment() before use. Consider fuzzing VerifyBlindValueProof with explicit and null confidential value/asset inputs.

Security signals we found

01

Out-of-bounds read in cryptographic proof verification

02

Insufficient input validation before passing buffer to libsecp256k1

03

Confidential value/asset commitment type confusion

04

Potential memory safety issue in blind PSBT handling

Risk score

Why this scored 62/100

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