<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Netty-Incubator-Codec-Ohttp - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/netty-incubator-codec-ohttp/</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>Thu, 20 Aug 2026 19:13:15 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/netty-incubator-codec-ohttp/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Native Memory Leak in netty-incubator-codec-ohttp via CVE-2026-54251</title><link>https://feed.craftedsignal.io/briefs/2026-08-netty-ohttp-leak/</link><pubDate>Thu, 20 Aug 2026 19:13:15 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-netty-ohttp-leak/</guid><description>The netty-incubator-codec-ohttp library suffers from a native memory leak during AEAD decryption failures, allowing unauthenticated attackers to induce a denial-of-service by exhausting off-heap memory.</description><content:encoded><![CDATA[<p>The netty-incubator-codec-ohttp library is susceptible to a native memory leak (CVE-2026-54251) impacting versions prior to 0.0.23.Final. This vulnerability exists within the OHTTP gateway functionality, which leverages Netty's pooled direct memory management for handling encrypted requests. When the gateway receives an OHTTP request, it allocates a native off-heap 'ByteBuf' to store decrypted plaintext prior to verifying the AEAD authentication tag. If the AEAD tag verification fails due to malformed or malicious ciphertext, a 'CryptoException' is triggered; however, the library fails to include a 'try-finally' block to release the allocated buffer. Repeatedly sending requests with invalid AEAD tags forces the application to leak native memory with every failed attempt, eventually leading to exhaustion of the Java process's off-heap memory and a service-wide denial-of-service condition.</p>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in an application-level denial-of-service. By repeatedly triggering the memory leak, an attacker can exhaust the target system's native memory, causing the JVM process to crash or become unresponsive to legitimate OHTTP traffic. This vulnerability is particularly critical for high-traffic OHTTP gateways exposed to the internet.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade the 'netty-incubator-codec-ohttp' dependency to version 0.0.23.Final or higher immediately.</li>
<li>Audit existing deployments for high memory utilization or 'OutOfMemoryError: Direct buffer memory' exceptions correlated with AEAD decryption errors.</li>
<li>Implement rate limiting on OHTTP gateway endpoints to mitigate the frequency at which an attacker can trigger the vulnerable decryption path.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category></item><item><title>Unauthenticated CPU Exhaustion DoS in netty-incubator-codec-bhttp</title><link>https://feed.craftedsignal.io/briefs/2026-08-netty-bhttp-dos/</link><pubDate>Thu, 20 Aug 2026 19:12:42 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-netty-bhttp-dos/</guid><description>An infinite loop vulnerability in the BinaryHttpParser of netty-incubator-codec-bhttp allows unauthenticated attackers to exhaust event-loop threads and induce a persistent denial of service via specially crafted BHTTP requests.</description><content:encoded><![CDATA[<p>The <code>netty-incubator-codec-bhttp</code> library, used for decoding Binary HTTP (RFC 9292) messages, contains a critical control-flow defect in the <code>BinaryHttpParser.readFieldSection</code> method. The vulnerability arises from an improper loop termination condition (<code>fieldSectionLength != 0</code>) and the failure to enforce forward progress when processing field lines.</p>
<p>An unauthenticated attacker can supply a malformed BHTTP request where the declared field-section length does not match the actual data. If the parser consumes zero bytes or consumes more bytes than declared, the loop enters an infinite busy-spin. Because the code relies on Java <code>assert</code> statements - which are stripped in production JVM environments - to guarantee termination and progress, the defect is fully exposed to remote exploitation. A small number of these requests can pin every available Netty event-loop thread at 100% CPU, resulting in a complete denial of service for OHTTP gateways or clients until the process is restarted.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker obtains the target OHTTP gateway's public HPKE key configuration.</li>
<li>Attacker crafts a malicious BHTTP message where the declared field-section length is understated relative to the actual field line contents.</li>
<li>Attacker wraps the malicious BHTTP payload within a standard OHTTP request, encrypted with the gateway's public key.</li>
<li>OHTTP gateway receives the request and decrypts the chunk into the <code>binaryHttpCumulation</code> buffer.</li>
<li><code>OHttpRequestResponseContext</code> passes the attacker-controlled plaintext directly to <code>BinaryHttpParser.parse</code>.</li>
<li><code>BinaryHttpParser</code> enters the <code>readFieldSection</code> method and triggers the vulnerable <code>while</code> loop (lines 619-626).</li>
<li>The loop fails to terminate due to the <code>!= 0</code> condition or zero-byte progress, initiating an infinite CPU-bound spin.</li>
<li>Repeating the request exhausts the Netty event-loop group, leading to a total denial of service.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The attack results in an unauthenticated, persistent denial of service. By pinning the event-loop threads of an OHTTP gateway or client, the attacker renders the service incapable of accepting new connections or processing traffic. The impact is significant for high-availability infrastructure relying on Netty-based OHTTP gateways, as the service remains unavailable until manual intervention (process restart) occurs.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update <code>netty-incubator-codec-bhttp</code> to a version containing the patched <code>BinaryHttpParser</code> logic that replaces the vulnerable <code>while</code> loop with explicit exception handling.</li>
<li>Promote input validation invariants previously handled by <code>assert</code> (lines 622, 624) to explicit <code>CorruptedFrameException</code> checks to ensure security regardless of JVM assertion settings.</li>
<li>Verify that production deployments are not bypassing framing errors; ensure the parser enforces strict adherence to RFC 9292 regarding declared versus actual field-section length consumption.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>denial-of-service</category><category>vulnerability</category><category>netty</category></item></channel></rss>