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

pytest: test for askrene infinite loop with maxparts set.

Public commit record

What the developer wrote

Authored by Rusty Russell

75/100 · Adequate
pytest: test for askrene infinite loop with maxparts set.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
The short version

What changed, and why it matters

This commit adds a new test case that demonstrates an apparent bug in Core Lightning's routing plugin (cln-askrene). When asked to find payment routes with a limit of two parts (maxparts=2), the plugin can enter an infinite loop instead of cleanly failing. The test is marked as expected to fail for now, meaning the underlying bug is not fixed by this commit—it is only being documented/reproduced.

Recommended action

Treat this as a known bug requiring a follow-up fix in cln-askrene. Review the routing algorithm's handling of maxparts constraints to ensure it terminates and returns a proper error rather than looping. Consider adding request timeouts and resource limits until the root cause is patched.

Security signals we found

01

Denial-of-service vector: unbounded computation/infinite loop in routing request

02

Resource exhaustion via RPC call to getroutes with crafted maxparts and topology

03

Test-only commit; no production fix included

Risk score

Why this scored 23/100

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