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

Clear announcement_sigs on FundingScope promotion

Public commit record

What the developer wrote

Authored by Jeffrey Czyz

80/100 · Strong
Clear announcement_sigs on FundingScope promotion

When a splice transaction is promoted (i.e., when splice_locked has been
exchanged), announcement_signatures must be sent. However, if we try to
send a channel_announcement before they are received, then the
signatures will be incorrect. To avoid this, clear the counterparty's
announcement_signatures upon promoting a FundingScope.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This patch fixes a Lightning channel bug that could produce an invalid channel announcement after a splice is finalized. When a channel is spliced (its on-chain funds are moved to a new transaction), both sides must exchange fresh announcement signatures before re-announcing the channel to the network. The bug caused the old counterparty signature to be kept briefly after the splice was promoted, so if the node tried to build and send a channel_announcement before the new signature arrived, it would use a stale signature and create an invalid message. The fix simply clears the old signature when the splice is promoted, forcing the node to wait for the new one. There is no direct theft-of-funds path, but it could cause gossip inconsistencies or a peer to send invalid protocol messages.

Recommended action

Apply the patch. It is a minimal, clearly correct state consistency fix. Nodes running splice-enabled builds should upgrade to avoid emitting invalid channel_announcement messages. No immediate emergency response is warranted because the issue is a protocol-correctness/gossip problem rather than a direct funds-loss vulnerability.

Security signals we found

01

Use of stale cryptographic signature after channel state transition

02

State-machine inconsistency: announcement_sigs_state reset without clearing corresponding signature storage

03

Protocol message (channel_announcement) could be generated with invalid counterparty signature

04

Splicing code path, which is a newer and more complex channel state transition

Risk score

Why this scored 45/100

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