<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Anephenix - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/anephenix/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 24 Jul 2026 21:53:58 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/anephenix/feed.xml" rel="self" type="application/rss+xml"/><item><title>@anephenix/hub Unauthenticated WebSocket RPC Waiter Resource Exhaustion (CVE-None)</title><link>https://feed.craftedsignal.io/briefs/2026-07-anephenix-hub-dos/</link><pubDate>Fri, 24 Jul 2026 21:53:58 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-anephenix-hub-dos/</guid><description>An unauthenticated Denial-of-Service vulnerability in `@anephenix/hub` versions prior to 0.2.16 allows attackers to exhaust server CPU and memory resources by opening numerous WebSocket connections and ignoring server-initiated RPC messages, leading to unbounded timers and heap entries.</description><content:encoded><![CDATA[<p>A high-severity unauthenticated Denial-of-Service (DoS) vulnerability exists in the <code>@anephenix/hub</code> Node.js library, affecting all versions prior to 0.2.16. This flaw arises because the server initiates a <code>setInterval</code> polling loop and accumulates pending RPC request objects for every incoming WebSocket connection. Specifically, if a remote client fails to reply to the server's <code>get-client-id</code> RPC, these timers and corresponding request objects are never cleaned up, even after the WebSocket connection is terminated. An unauthenticated attacker can exploit this by establishing a large number of WebSocket connections and deliberately ignoring server RPC messages. This action causes the server to accumulate an unbounded number of <code>setInterval</code> timers and heap entries, leading to severe CPU and memory exhaustion and rendering the <code>@anephenix/hub</code> server unavailable to legitimate clients. The vulnerability does not require any authentication or specialized headers, making it easily exploitable.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An unauthenticated client establishes a WebSocket connection to the <code>@anephenix/hub</code> server.</li>
<li>The server's connection listener, registered in <code>src/lib/index.ts:128</code>, invokes <code>requestClientId</code> for the newly established WebSocket (<code>src/lib/index.ts:262</code>).</li>
<li><code>requestClientId</code> then calls <code>rpc.send</code> to issue a <code>get-client-id</code> RPC request to the client (<code>src/lib/clientId.ts:112</code>).</li>
<li>The RPC request payload is pushed onto the server's <code>this.requests</code> array within <code>rpc.send</code> (<code>src/lib/rpc.ts:282</code>), marking it as a pending request.</li>
<li>Inside <code>rpc.send</code>, <code>waitForReply</code> is invoked, which starts a <code>setInterval</code> timer polling every 10 ms to check for a matching reply in the <code>responses[]</code> array (<code>src/lib/rpc.ts:250</code>).</li>
<li>The attacker's client deliberately ignores the server's <code>get-client-id</code> RPC message and then closes the WebSocket connection without sending any reply.</li>
<li>Due to the absence of a reply, the <code>setInterval</code> timer and the corresponding entry in <code>this.requests</code> are not cleared, leading to a resource leak within the server process.</li>
<li>The attacker repeats this process with numerous connections, causing an accumulation of unbounded timers and heap objects, ultimately leading to CPU and memory exhaustion and a Denial of Service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This is an unauthenticated Denial-of-Service (DoS) vulnerability affecting any network-reachable <code>@anephenix/hub</code> server running with default configurations. Exploitation allows an attacker to exhaust the server's CPU and memory resources by forcing it to accumulate an ever-increasing number of <code>setInterval</code> timers and heap entries. Each unanswered WebSocket connection contributes one <code>setInterval</code> timer (polling every 10 ms) and one heap object that is never released. As more connections are made and then silently dropped, the server's resource consumption spirals, leading to performance degradation and eventually making the server unresponsive or unavailable to legitimate clients. No complex authentication, headers, or protocol knowledge is required for successful exploitation.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>@anephenix/hub</code> to version 0.2.16 or higher immediately to address the vulnerability.</li>
<li>Monitor server resource utilization (CPU, memory) for <code>@anephenix/hub</code> instances to detect anomalous spikes that could indicate a DoS attack.</li>
<li>Implement application-layer logging for WebSocket RPC requests and responses to track incomplete transactions that may indicate exploitation of this vulnerability.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>websocket</category><category>node.js</category></item></channel></rss>