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

splice: multi channel stfu bugfix

Public commit record

What the developer wrote

Authored by Dusty Daemon

68/100 · Adequate
splice: multi channel stfu bugfix

When executing splices with many channels at once the `channel_ids` and `results` arrays could be reallocted via `tal_arr_remove` and `tal_arr_expand`.

Since these values are shared across multiple `splice_command` objects, when these functions reallocated the arrays the other `splice_command` would be referencing an invalid pointer.

The solution is to make an explicit shared object `stfu_req_info` that is shared amoung the `splice_command`s and holds pointers to the arrays so they can mutate.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit fixes a memory-handling bug in Core Lightning's 'splice' feature when stopping multiple payment channels at the same time. Previously, several related commands shared the same list of channel IDs and results. If that list was resized in memory, the other commands could end up pointing to freed/invalid memory, which can cause crashes or unpredictable behavior. The fix puts those shared lists into a single explicit shared object so every command sees the updated, valid pointer.

Recommended action

Treat as a stability/reliability fix and include in relevant release notes. While the commit does not frame this as a security vulnerability, the dangling-pointer behavior could be exploitable for denial of service or memory corruption under multi-channel splice operations. Users running splice-enabled nodes should upgrade. No immediate incident response is indicated absent further analysis or disclosure.

Security signals we found

01

Use-after-free / dangling-pointer risk from shared mutable arrays subject to reallocation

02

Memory corruption / crash potential during multi-channel splice STFU processing

03

Fix removes explicit `tal_free` of arrays now owned by command context

04

No explicit security framing or CVE reference in commit message

Risk score

Why this scored 59/100

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