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

xpay: don't place global reservations on generated channels.

Public commit record

What the developer wrote

Authored by Rusty Russell

73/100 · Adequate
xpay: don't place global reservations on generated channels.

We generate fake scids for routehints and blinded paths. But then we were
placing reservations on them as if they were global. If there are two xpays
going at once these reservations will clash, even though the same scid refers
to different channels.

Reported-by: @Lagrang3
Changelog-Fixed: xpay: fixed theoretical clash with simultanous payments via routehints and blinded paths.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This fix corrects a bug in Core Lightning's 'xpay' plugin where temporary, made-up channel identifiers used for private payment routes (routehints and blinded paths) were being treated as real, globally-known channels. When two payments ran at the same time, they could reserve the same fake identifier and interfere with each other, potentially causing one payment to fail or be delayed. The fix marks these channels as fake and keeps their reservations private to each payment.

Recommended action

Upgrade to a Core Lightning version containing this commit if you use xpay with routehints or blinded paths and process concurrent payments. No immediate emergency response is indicated; the issue is a correctness/concurrency bug rather than an exploitable vulnerability.

Security signals we found

01

Concurrency bug causing resource reservation clash

02

Incorrect layer assignment for synthetic channel identifiers

03

Potential payment failure or delay due to fake scid collision

04

Fix explicitly marks fake channels and isolates their reservations

Risk score

Why this scored 49/100

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