Executive brief
Netty is a widely used networking framework that helps developers build high-performance servers and clients. A vulnerability in its HAProxy protocol support allows a remote attacker to trigger memory leaks by sending specially crafted network packets. Over time, these leaks can exhaust the server's available memory, leading to performance degradation or a complete service outage.
Technical details
A memory leak exists in the netty-codec-haproxy module during the parsing of PP2_TYPE_SSL TLV fields. In HAProxyMessage.readNextTLV(), the code creates a retained slice of the pooled cumulation buffer before validating that enough data exists for the subsequent 1-byte client and 4-byte verify fields. If an attacker provides a TLV length less than 5, an IndexOutOfBoundsException (IOOBE) is thrown. Because HAProxyMessageDecoder only catches HAProxyProtocolException, the IOOBE propagates, preventing the release of the retained slice. This results in a cumulative memory leak that can be triggered remotely without authentication, eventually leading to an OutOfMemoryError. The issue is fixed in versions 4.1.135.Final and 4.2.15.Final.
Affected products
- Netty Project Netty < 4.1.135.Final, 4.2.0.Final - 4.2.14.Final
Timeline
- 2026-06-02: patched: Versions 4.1.135.Final and 4.2.15.Final released.
- 2026-06-05: advisory: GitHub Security Advisory GHSA-cc37-9q2j-3hfv published.
- 2026-06-12: disclosed: CVE-2026-44893 published to NVD.