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

Accept Bolt12 invoices with reply path (#3325)

Public commit record

What the developer wrote

Authored by Bastien Teinturier

76/100 · Adequate
Accept Bolt12 invoices with reply path (#3325)

We previously rejected Bolt12 invoices when a reply path was provided
in the onion message. This wasn't in the spec, and it could make sense
to provide a specific reply path with an invoice in case the payer
considers the invoice invalid and wants to send back an invoice_error
to inform the recipient.

This created compatibility issues with LDK.

Fixes #3322
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit loosens Eclair's validation of BOLT12 invoice onion messages so that invoices may now include a reply path. Previously, Eclair rejected invoices that carried a reply path, which caused compatibility problems with LDK nodes. The change is framed as an interoperability fix, not a security fix, and it tightens some related validation rules at the same time.

Recommended action

Treat as a protocol-compatibility fix rather than a security patch. Reviewers should confirm that allowing ReplyPath on invoices does not enable unexpected message routing or invoice_error injection, and that the new stricter rules for unknown TLVs and missing reply paths do not break other BOLT12 implementations.

Security signals we found

01

Loosened TLV validation for BOLT12 Invoice messages now permits ReplyPath presence

02

Added explicit rejection of unknown records (even odd ones) in final payload

03

Added explicit requirement for ReplyPath when an InvoiceRequest is present

04

Changed fallback MissingRequiredTlv tag from UInt64(0) to UInt64(68)

05

No mention of vulnerability, CVE, or security advisory in commit message

Risk score

Why this scored 30/100

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