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

fix: range proof cache bind to asset and scriptpubkey

Public commit record

What the developer wrote

Authored by Byron Hambly

62/100 · Adequate
fix: range proof cache bind to asset and scriptpubkey
✓ Specific, 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 Elements (the software behind the Liquid sidechain) remembers whether it has already checked a 'range proof'—a cryptographic receipt that helps keep transaction amounts private. Previously, the cache key was built only from the proof and the value commitment. The patch adds the asset commitment and the output's scriptPubKey to that key. An independent researcher argues that an earlier version of this same fix introduced a cache-key collision that was exploited to withdraw roughly 4,000 BTC from Liquid's federation wallet. The commit itself is a narrow code change; the exploit claim comes from outside analysis, not from the commit message or a vendor root-cause report.

Recommended action

Treat this commit as security-relevant and ensure all Elements/Liquid nodes are running a version that includes it. Review the full key-serialization logic for length-prefixing or domain separation to rule out remaining collision issues. Await and apply Liquid's official root-cause report and any follow-up patches. Operators should monitor for reorg or consensus-split behavior between patched and unpatched nodes.

Security signals we found

01

Cache-key construction changed to include additional contextual fields (asset commitment and scriptPubKey)

02

Independent researcher links this exact commit to a 4,000 BTC Liquid sidechain exploit

03

Vendor (Liquid) confirms a security incident and withdrawal but does not identify root cause in the supplied reference

04

Commit message is purely functional ('fix: range proof cache bind to asset and scriptpubkey') and does not disclose security relevance

05

Change is small (+4/-4) and localized to the range-proof cache

Risk score

Why this scored 87/100

Our methodology →
Potential impact 28/30
Exploitability 22/25
Stealth signal 12/15
Affected reach 13/15
Confidence 8/10
Evidence quality 4/5
Primary-source trail

Evidence and disclosure record

Verified links used to place this patch in context. External claims remain attributed to their publishers.

Vendor advisory · Primary

Liquid Network security incident

Liquid confirms that purported white-hat actors withdrew roughly 4,000 BTC from its federation wallet through the SideSwap PAK, without compromising that PAK or other federation keys. Liquid paused the sidechain and says other issued assets are unaffected. The statement does not identify the root cause.

Research disclosure · Primary

Liquid exploit: cache-key collision analysis and timeline

Independent code and on-chain analysis identifies this exact September 1 commit as a fix for an older cache-binding weakness (Bug A) that itself introduced the exploited collision (Bug B). By appending the variable-length script directly after other unframed fields, the new key can be reproduced with different proof, amount, asset, and script boundaries. The exploit's padding only collides under this new key format. The analysis says official release nodes without this commit rejected the exploit block and stalled, while nodes running the newer deployed code accepted it. This mechanism remains independent analysis pending Liquid's root-cause report.

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.