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

Remove previous holder HTLC data on splice locked when necessary

Public commit record

What the developer wrote

Authored by Wilmer Paulino

73/100 · Adequate
Remove previous holder HTLC data on splice locked when necessary

If while a splice is pending, the channel happens to not have any
commitment updates, but did prior to the splice being negotiated, it's
possible that we end up with bogus holder HTLC data for the previous
commitment. After the splice becomes locked, we've successfully
transitioned to the new funding transaction, but that funding
transaction never had a commitment transaction negotiated for the
previous state.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This change fixes a bookkeeping error in Lightning Dev Kit's channel monitor after a splice (a way to resize a Lightning channel's on-chain funding). If a channel had HTLCs (pending payments) in an older commitment state but no new commitment was negotiated during the splice, the monitor could keep stale HTLC data for a commitment transaction that never existed for the new funding transaction. The patch clears that stale data once the splice is locked. The main risk is that stale data might cause incorrect behavior when claiming or revoking funds if an old commitment were somehow broadcast, but the commit message frames this as a correctness fix rather than an active exploit.

Recommended action

Treat as a correctness and defensive-security fix. Review related splice code paths for other stale-state leaks, add regression tests covering the no-commitment-update-during-splice scenario, and consider whether `prev_holder_commitment_tx` being None should also invalidate other derived state.

Security signals we found

01

Stale HTLC state retained across funding transaction transitions

02

Splice-locked channel monitor state inconsistency

03

Potential incorrect claim/revocation behavior if old commitment data is referenced

04

Defensive cleanup of holder commitment metadata

Risk score

Why this scored 55/100

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