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

lnpeer: fail htlcs if we get unwanted mpp

Public commit record

What the developer wrote

Authored by f321x

60/100 · Adequate
lnpeer: fail htlcs if we get unwanted mpp

Fail incoming htlcs if we receive a payment consisting of multiple parts
if we signaled to not want mpp in the invoice.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
The short version

What changed, and why it matters

This commit fixes a bug in Electrum's Lightning payment receiving code. Previously, a merchant could create an invoice that said 'do not pay me using multiple payment parts (MPP)', but Electrum would still accept such multi-part payments anyway. The patch makes Electrum reject those unwanted multi-part payments. This matters because accepting MPP when it was not requested could let a payer split a payment in ways the receiver did not expect, potentially causing accounting confusion, channel fee issues, or problems with just-in-time (JIT) channel opening, which only supports single-part payments.

Recommended action

Treat as a security-relevant bug fix and include in release notes. Users running Lightning nodes, especially those using JIT channel opening or trampoline routing, should upgrade. Review whether any related code paths (e.g., other invoice feature flags) are similarly unenforced. No immediate emergency response is indicated absent evidence of active exploitation.

Security signals we found

01

Logic bug: invoice feature flag BASIC_MPP_OPT was not enforced for incoming payments

02

Potential payment-splitting behavior contrary to receiver's advertised invoice terms

03

Interaction with JIT channel opening, which is documented as single-part only

04

Trampoline payment amount check adjusted for JIT fee subtraction

05

No explicit CVE, advisory, or researcher attribution in commit or supplied references

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.