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

blindpsbt: return error instead of asserting on surjection proof failure

Public commit record

What the developer wrote

Authored by Byron Hambly

73/100 · Adequate
blindpsbt: return error instead of asserting on surjection proof failure

CreateAssetSurjectionProof asserted on secp256k1_surjectionproof_generate
and _verify failure. A crafted PSET can supply unrelated tags/generators
with no known discrete-log relationship, causing generation to fail and the
assert to abort the process. Make these recoverable errors by returning
false.
✓ 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 denial-of-service bug in Elements' confidential asset handling. Previously, a malformed transaction file (PSET) could trigger a hard program crash (assert/abort) by feeding in mismatched cryptographic tags. The patch turns that crash into a normal, recoverable error so the process stays alive and simply rejects the bad input.

Recommended action

Treat this as a security hardening fix and include it in the next maintenance release. Users and integrators handling externally supplied PSETs should upgrade to avoid remote-triggered aborts during blinding.

Security signals we found

01

assert-to-error conversion

02

denial-of-service vector from untrusted PSET input

03

surjection proof failure on attacker-chosen tags/generators

04

recoverable error instead of process abort

Risk score

Why this scored 74/100

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