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

fix: release txprepare reservations on send failure

Public commit record

What the developer wrote

Authored by Vincenzo Palazzo

100/100 · Strong
fix: release txprepare reservations on send failure

Clean up the original PSBT reservation when withdraw/txsend fail after signing or broadcast.

Include the final withdraw regression coverage, including the liquid-safe address handling needed for CI.

Fixes #8925
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit fixes a bug in Core Lightning's wallet code where, if a prepared Bitcoin transaction failed during signing or broadcast, the coins that had been set aside ('reserved') for that transaction were not released back to the wallet. The fix makes sure those reservations are cleaned up automatically on failure, so funds are not stuck and become usable again. The change also adds tests that simulate a broadcast failure and verify the funds are no longer reserved afterward.

Recommended action

Apply the patch and run the new regression tests. Operators who experienced stuck reserved outputs after failed withdrawals can upgrade and, if needed, manually unreserve inputs until the fix is deployed. No immediate remote exploit is indicated, but the bug can degrade wallet availability.

Security signals we found

01

Denial-of-service/availability impact: failed transactions could leave wallet UTXOs permanently reserved, preventing their reuse until manual intervention

02

Resource exhaustion pattern: reserved inputs are not spendable, so repeated failed sends could reduce usable wallet balance

03

Error-path resource cleanup (CWE-772, CWE-404): missing release of reserved inputs on failure

04

Regression tests added that simulate broadcast rejection and verify reservation release

Risk score

Why this scored 47/100

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