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

plugins/offers: handle invoice_request with invreq_recurrence_cancel

Public commit record

What the developer wrote

Authored by Rusty Russell

73/100 · Adequate
plugins/offers: handle invoice_request with invreq_recurrence_cancel

In this case, we make an immediately-expiring invoice. This correctly blocks
any successive requests for invoices, as per the spec requirement.

This means we have to handle invoice_requests without reply_path, amounts
or quantity *if* they specify invreq_recurrence_cancel.

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 commit adds support for cancelling recurring Lightning invoices. Previously, the code rejected invoice requests that lacked a reply path, amount, or quantity. Now, if the request carries the special 'invreq_recurrence_cancel' flag, those requirements are relaxed and the node creates an immediately-expiring invoice instead of returning a usable one. This is a protocol-compliance change that prevents a cancelled recurring invoice from being paid again.

Recommended action

Review the relaxed validation paths to ensure invreq_recurrence_cancel cannot be spoofed or used to bypass unrelated checks, and confirm that the zero-expiry invoice is correctly recorded and cannot be paid.

Security signals we found

01

Protocol compliance fix for BOLT 12 recurrence cancellation

02

Relaxation of previously mandatory invoice-request field checks under a specific flag

03

Creation of zero-expiry invoice to block future payments for a cancelled recurrence

04

Change in error-handling path when reply_path is missing

Risk score

Why this scored 45/100

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