High, CVSS 7.5npmAmendedPublished
@anephenix/hub: Unauthenticated WebSocket RPC Waiter Resource Exhaustion
CVE-2026-73561 · GHSA-g5vv-q72c-7j78
- Affected
- npm @anephenix/hub < 0.2.16
- Fixed in
- 0.2.16· Vendor fix available
- Issue
- @anephenix/hub starts a setInterval polling loop for every incoming WebSocket connection to request a client ID via RPC. If the remote client never replies — which requires no authentication or special configuration — the interval and the pending request object are never cleaned up, even after the socket is closed. An unauthenticated attacker who opens many WebSocket connections and ignores all server RPC messages will therefore cause the server to accumulate unbounded timers and heap entries, leading to CPU and memory exhaustion (DoS). Details When a client connects, loadDefaultConnectionEventListeners (registered in src/lib/index.ts:128) adds a connection listener that calls requestClientId({ ws, rpc }) for every new WebSocket (src/lib/index.ts:262). requestClientId issues an RPC send for the get-client-id action (src/lib/clientId.ts:112), which internally calls rpc.send. Inside rpc.send, the payload is pushed onto this.requests (src/lib/rpc.ts:282) and waitForReply is…
Recommended action: Upgrade to 0.2.16 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.