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

htlcswitch+lnrpc: report node-ID next hop to the off-chain HTLC interceptor

Public commit record

What the developer wrote

Authored by bitromortac

73/100 · Adequate
htlcswitch+lnrpc: report node-ID next hop to the off-chain HTLC interceptor

When the switch forwards a blinded hop identified by node ID, it has not
yet resolved a concrete outgoing channel at interception time. Expose the
next hop to the interceptor: InterceptedForward.Packet() reports the
packet's outgoing channel as-is (hop.Exit, since none is selected yet) and
carries the requested pubkey in OutgoingNodeID.

At the RPC boundary, forwardInterceptor.onIntercept maps a node-ID hop to
the reserved NodeIDForwardSCID sentinel in outgoing_requested_chan_id and
the pubkey in outgoing_requested_node_id, so a client switching on a zero
channel ID to detect the exit hop does not misread the forward as a final
receive. The sentinel is a wire-only concern, applied where the request is
built rather than in the switch's internal InterceptedPacket, which stays
truthful (OutgoingNodeID.IsSome() is the node-ID discriminator).
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This change improves how the Lightning Network Daemon (LND) reports forwarding details to external plugins that inspect HTLCs (payment packets). For a new type of blinded route where the next hop is identified by node ID rather than a specific channel, the code now tells the plugin both the requested node public key and a special reserved channel ID marker. This prevents an external plugin from mistakenly thinking the payment has reached its final destination when it has not. It is a correctness and information-disclosure improvement, not a fix for an active exploit.

Recommended action

No urgent action. Operators using the HTLC interceptor API should ensure their client can handle NodeIDForwardSCID and the new OutgoingRequestedNodeId field when processing blinded-route forwards. Review related interceptor logic for consistent handling of the sentinel.

Security signals we found

01

Information-correctness fix for HTLC interceptor API

02

Prevents misclassification of node-ID forwards as exit hops

03

Adds explicit sentinel to disambiguate zero SCID semantics

04

No memory-safety, cryptographic, or authorization changes observed

Risk score

Why this scored 19/100

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