<?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>Netty-Transport-Native-Epoll ( &lt; 4.2.13.Final) — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/netty-transport-native-epoll---4.2.13.final/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 06 May 2026 23:10:41 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/netty-transport-native-epoll---4.2.13.final/feed.xml" rel="self" type="application/rss+xml"/><item><title>Netty epoll Transport Denial of Service via RST on Half-Closed TCP Connection</title><link>https://feed.craftedsignal.io/briefs/2024-01-netty-dos/</link><pubDate>Wed, 06 May 2026 23:10:41 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-netty-dos/</guid><description>Netty's epoll transport fails to properly close TCP connections that receive a RST after a half-close, leading to resource exhaustion and potential CPU busy-loops, impacting service availability.</description><content:encoded><![CDATA[<p>A denial-of-service vulnerability exists in Netty&rsquo;s epoll transport for versions 4.2.x up to and including 4.2.12.Final. When <code>ALLOW_HALF_CLOSURE</code> is enabled (or when using the HTTP codec), if a remote peer sends a FIN (half-close) followed by a RST, the server-side channel is not properly closed. This can lead to stale channels accumulating, exhausting file descriptors, memory, or connection count limits. In certain code paths, it can also trigger a 100% CPU busy-loop in the event loop thread, starving other connections. This vulnerability allows an unauthenticated remote attacker to cause a denial of service. The issue is resolved in version 4.2.13.Final.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A client establishes a TCP connection with a Netty-based server using the epoll transport.</li>
<li>The server configures the connection with <code>ALLOW_HALF_CLOSURE</code> enabled or uses the HTTP codec which can result in a half-closed state.</li>
<li>The client sends a FIN packet to initiate a half-close of the TCP connection, signaling that it will no longer send data.</li>
<li>The server acknowledges the FIN and marks the input side of the channel as shutdown.</li>
<li>The client abruptly terminates the connection by sending a RST packet (e.g., by closing the socket with <code>SO_LINGER=0</code>).</li>
<li>Due to a flaw in Netty&rsquo;s epoll transport, the server fails to process the <code>EPOLLERR</code> or <code>EPOLLHUP</code> event triggered by the RST.</li>
<li>The <code>channelInactive</code> event is never fired, leaving the channel in a stale state.</li>
<li>An attacker repeats this process, accumulating stale channels and exhausting server resources, potentially leading to a CPU busy-loop and a denial-of-service condition.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability can lead to a denial-of-service condition. An unauthenticated remote attacker can exhaust server resources like file descriptors, memory, and connection limits, or trigger a CPU busy-loop. This can render the affected Netty-based service unavailable, impacting legitimate users. The number of potential victims depends on the scale of the deployment and the server&rsquo;s resource capacity.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade to Netty version 4.2.13.Final or later to patch CVE-2026-42577 and resolve the vulnerability.</li>
<li>If upgrading is not immediately feasible, configure idle timeouts on connections to limit the lifetime of stale channels, mitigating the resource exhaustion impact.</li>
<li>Monitor CPU utilization of Netty event loop threads. Investigate processes with high CPU usage for extended periods to identify potential exploitation of this vulnerability.</li>
<li>Implement rate limiting on new TCP connections from individual source IPs to reduce the effectiveness of connection exhaustion attacks.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>netty</category><category>epoll</category><category>resource-exhaustion</category></item></channel></rss>