CVE-2026-48059: Netty HAProxy: Unbalanced Reference Count in Nested PP2_TYPE_SSL TLV Parsing Leads to Memory Exhaustion
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, the HAProxy PROXY protocol v2 codec in netty leaks native or heap memory on every connection when a client sends a syntactically valid header containing nested `PP2_TYPE_SSL` TLVs (type-length-value records) at depth two or greater. The leak occurs on the successful parse path — no exception is thrown, the message fires downstream, the decoder removes itself, and the application releases the `HAProxyMessage` normally. Yet the underlying cumulation buffer (a pooled, potentially direct `ByteBuf` allocated by the channel) remains permanently pinned. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
Security readout for executives and security teams
Plain-English summary
This flaw can let a remote, unauthenticated client make affected Netty-based services leak memory when handling certain valid HAProxy PROXY protocol v2 data. Over time, that can exhaust memory and disrupt service availability. The provided sources identify fixed Netty releases, but do not confirm active exploitation.
Executive priority
Treat as a high-priority availability risk for externally reachable Java network services using Netty PROXY protocol handling. Prioritize internet-facing and load-balancer-adjacent services first, then vendor products that embed Netty.
Technical view
The vulnerable HAProxy PROXY protocol v2 codec leaks native or heap memory while parsing nested PP2_TYPE_SSL TLVs at depth two or greater. The parse succeeds, the message proceeds downstream, and normal application release does not free the pinned cumulation ByteBuf. Fixed versions are 4.1.135.Final and 4.2.15.Final.
Likely exposure
Exposure is most likely where applications use affected Netty versions and enable the HAProxy PROXY protocol v2 codec on network-reachable services. Dependency presence alone may not prove exploitability if that codec is unused or untrusted PROXY headers cannot reach the service.
Exploitation context
The CVSS vector describes remote, low-complexity, unauthenticated availability impact. The bundle marks KEV as false, and no provided source confirms exploitation in the wild. The issue is still operationally serious because each triggering connection can leak memory without obvious parse failure.
Researcher notes
The key exposure question is whether PPv2 headers reach Netty's HAProxy codec. The leak occurs on the successful path, so absence of decoder exceptions is not reassuring. Provided sources do not include exploit code, exploitation telemetry, or detailed product-by-product impact beyond Netty and Red Hat advisories.
Mitigation direction
Upgrade Netty to 4.1.135.Final or 4.2.15.Final.
Apply applicable Red Hat errata for vendor-packaged Netty components.
Identify transitive Netty dependencies in Java services and appliances.
Check vendor guidance where Netty is bundled by another product.
Restart affected services after patching if required by deployment practice.
Validation and detection
Confirm deployed Netty versions are not below the fixed releases.
Verify whether HAProxy PROXY protocol v2 decoding is enabled.
Check whether untrusted clients can reach PROXY v2 listener paths.
Review dependency trees for bundled or shaded Netty copies.
Monitor memory pressure and direct buffer usage on exposed services.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-1286: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-1286 · source CWE mapping
Improper Validation of Syntactic Correctness of Input
Improper Validation of Syntactic Correctness of Input represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Missing Release of Memory after Effective Lifetime
Missing Release of Memory after Effective Lifetime represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.