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

wss-proxy: time out handshakes so the accept loop can't be stalled

Public commit record

What the developer wrote

Authored by daywalker90

73/100 · Adequate
wss-proxy: time out handshakes so the accept loop can't be stalled

The TLS and websocket handshakes were awaited inline in the accept loop
before per-connection work was spawned. A client which connected and
never completed a handshake parked the loop, so no further accept() was
serviced and the whole WSS endpoint was unavailable to everyone.

Spawn a task per accepted stream immediately, and run both handshakes
inside that task under a 10 second timeout (matching the pattern used
by other plugins), so an idle client is dropped and can never block new
connections.

Changelog-Fixed: wss-proxy: an idle client no longer blocks the accept loop and prevents all new connections

(cherry picked from commit cadf29066fa5927e99039d23401973ab73b93949)
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This update fixes a bug in Core Lightning's WebSocket Secure (WSS) proxy where a single client could connect but never finish its handshake, accidentally freezing the entire WSS service so no one else could connect. The fix moves each connection's TLS and WebSocket handshakes into its own background task and adds a 10-second timeout, so a stuck client is dropped without blocking others.

Recommended action

Deploy this patch to any node running the wss-proxy plugin, especially nodes exposing WSS to untrusted networks. Monitor logs for 'Timed out upgrading to tls' or 'Timed out upgrading to websocket' to confirm the fix is active. No immediate incident response beyond patching is indicated.

Security signals we found

01

Denial-of-service vector: single idle client blocks accept loop

02

Missing timeout on network handshake operations

03

Network-facing plugin (wss-proxy) availability issue

04

Changelog-Fixed labels this as a fixed bug affecting all new connections

Risk score

Why this scored 63/100

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