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

Send missing splice_locked when confirmation precedes reestablishment

Public commit record

What the developer wrote

Authored by Wilmer Paulino

83/100 · Strong
Send missing splice_locked when confirmation precedes reestablishment

In most cases, we end up sending our `splice_locked` either implicitly
during reestablishment via
`ChannelReestablish::my_current_funding_locked`, or explicitly after
reestablishment. However, we did not consider that it's possible for the
node to be notified of the splice confirmation after connecting to their
peer but prior to reestablishing their channel. In such cases, we need
to explicitly send the `splice_locked` since it wasn't included in
`my_current_funding_locked`, but only after the channel has been
reestablished.

Found by the chanmon_consistency fuzz target.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
The short version

What changed, and why it matters

This patch fixes a Lightning protocol bug where a 'splice_locked' message could fail to be sent after a channel reconnects. If a splice transaction confirmed after the peers reconnected but before they finished reestablishing the channel, the node would not tell its peer that the new funding was locked, potentially leaving the channel stuck or unable to route payments. The fix tracks which funding transaction was already mentioned during reestablishment and sends the missing 'splice_locked' immediately afterward.

Recommended action

Apply the patch. It is a targeted correctness fix for the Lightning splicing protocol with regression coverage. No immediate incident response is indicated beyond normal update deployment.

Security signals we found

01

Protocol state machine fix for missing splice_locked message after reconnection

02

Fuzz target (chanmon_consistency) found the issue

03

New regression test test_splice_locked_waits_for_channel_reestablish added

04

Tracks funding_locked_txid_sent_in_reestablish to avoid duplicate or omitted messages

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.