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

Fix encoding of channel type TLV in splice_init/splice_ack (#3178)

Public commit record

What the developer wrote

Authored by Fabrice Drouin

81/100 · Strong
Fix encoding of channel type TLV in splice_init/splice_ack (#3178)

Fix encoding of channel type TLV in splice_init/splice_ack

The channel type codec that we use is a "TLV field codec", wrapping it in a tlvField() codec was wrong
and messed up the encoding.

Co-authored-by: Bastien Teinturier <31281497+t-bast@users.noreply.github.com>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit fixes a wire-encoding bug in Eclair's Lightning splicing messages. The channel type field was being wrapped twice, which produced an incorrect byte layout. The fix removes the extra wrapper so the messages encode and decode correctly. It is a protocol-compatibility bug rather than a direct theft-of-funds vulnerability, but it could cause peers to reject or misinterpret splice messages.

Recommended action

Treat as a protocol correctness fix. Review whether any deployed version exchanged malformed splice_init/splice_ack channel-type TLVs with peers, and consider compatibility handling or a coordinated upgrade if the feature is live. No immediate emergency patch is indicated for theft of funds.

Security signals we found

01

Wire protocol encoding bug in TLV codec registration

02

Double length-prefix wrapping of channel type field

03

Potential peer interoperability failure for splice messages carrying channel type

04

Test vectors added for taproot channel type in splice_init/splice_ack

Risk score

Why this scored 45/100

Our methodology →
Potential impact 12/30
Exploitability 8/25
Stealth signal 6/15
Affected reach 9/15
Confidence 7/10
Evidence quality 3/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.