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

Fix Bolt12 path fee hiding (#3311)

Public commit record

What the developer wrote

Authored by Bastien Teinturier

98/100 · Strong
Fix Bolt12 path fee hiding (#3311)

When using blinded paths in our Bolt12 invoices, we may use a feature
where instead of making the payer pay the fees for the blinded path,
we deduce them from the amount we wish to receive (the recipient pays
for the privacy it gains from using blinded paths, instead of making
the payer pay for something that they didn't opt into). See #2993
for more details.

The constraint on path fees was wrong in some rounding cases, so we
fix that, otherwise we would unnecessarily reject some payments.
This was found by testing blinded trampoline payments.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit fixes a rounding bug in Eclair's handling of Bolt12 (a newer Lightning Network invoice format) blinded-path fees. When a recipient hides their real node behind a private payment path, they can choose to pay those path fees themselves rather than charging the payer. The code that computed the maximum such fee used the wrong amount in some rounding cases, causing Eclair to reject valid incoming payments unnecessarily. The fix uses the larger of the invoice amount and the actual received amount when computing the fee limit, and adjusts default/test settings accordingly.

Recommended action

Treat as a functional bug fix with minor availability impact. Reviewers should verify that nodeFee rounding behavior is now bounded correctly for all amount combinations and that lowering payment-path-length does not weaken path privacy beyond intended configuration. No immediate security patch urgency is indicated by the diff alone.

Security signals we found

01

Logic error in fee-bound computation for Bolt12 blinded paths

02

Could cause denial of service for legitimate incoming payments

03

No direct funds loss or theft path evident from diff

04

Fix is small and targeted to rounding/amount selection

Risk score

Why this scored 32/100

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