Description
Netty is a network application framework for development of protocol servers and clients. In versions 4.2.0.Final up to (but not including) 4.2.16.Final, and 4.1.0.Final up to (but not including) 4.1.135, the `HAProxyMessageDecoder` in Netty's `codec-haproxy` module performs protocol version detection by reading the 13th byte as a signed Java `byte` and widening it to `int` without masking; a PROXY protocol v2 binary prefix followed by version byte `0xFF` sign-extends to `-1`, collides with the decoder's need-more-data sentinel, and causes `ByteToMessageDecoder` to accumulate inbound bytes in an unbounded `cumulation` buffer until direct memory is exhausted. This issue is fixed in versions 4.1.136.Final and 4.2.16.Final.
Published: 2026-07-21
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Netty’s HAProxyMessageDecoder misinterprets the 13th byte of a HAProxy v2 protocol header when the version byte is 0xFF. Because the byte is promoted to an int without masking, the resulting negative value matches the decoder’s sentinel for “need more data.” The decoder then continues to concatenate incoming bytes into an unbounded cumulation buffer, eventually exhausting the JVM’s direct memory and crashing the application or causing a service outage.

Affected Systems

The vulnerability affects the Netty network framework, specifically the codec‑haproxy module. Versions 4.1.0.Final through 4.1.134 (inclusive) and 4.2.0.Final through 4.2.15 (inclusive) are impacted. The issue is resolved in Netty 4.1.136.Final and 4.2.16.Final, as well as later releases.

Risk and Exploitability

The CVSS score of 8.7 indicates a high severity impact. The EPSS score of less than 1% suggests a low probability of exploitation at present, and the vulnerability is not yet listed in the CISA KEV catalog. However, any host that accepts HAProxy protocol traffic can be targeted by sending a specially crafted HAProxy v2 header with a version byte of 0xFF, triggering the unchecked buffer growth and leading to an unbounded memory allocation. This path requires network access to the application and can be used to force a denial of service by exhausting available memory resources.

Generated by OpenCVE AI on August 4, 2026 at 05:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Netty to 4.1.136.Final or 4.2.16.Final or a newer release that includes the fix.
  • Disable or remove use of HAProxyMessageDecoder if the HAProxy protocol is not required for your deployment.
  • Configure application-level memory limits or garbage collection tuning to recover from anomalous memory consumption, and monitor memory usage for rapid degradation.

Generated by OpenCVE AI on August 4, 2026 at 05:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q6cq-mhr2-jmr5 Netty: [codec-haproxy] Signed-Byte Sentinel Collision in HAProxyMessageDecoder Leads to Unbounded Memory Exhaustion
History

Tue, 28 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Important


Thu, 23 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 23 Jul 2026 05:30:00 +0000

Type Values Removed Values Added
First Time appeared Netty
Netty netty
Vendors & Products Netty
Netty netty

Tue, 21 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description Netty is a network application framework for development of protocol servers and clients. In versions 4.2.0.Final up to (but not including) 4.2.16.Final, and 4.1.0.Final up to (but not including) 4.1.135, the `HAProxyMessageDecoder` in Netty's `codec-haproxy` module performs protocol version detection by reading the 13th byte as a signed Java `byte` and widening it to `int` without masking; a PROXY protocol v2 binary prefix followed by version byte `0xFF` sign-extends to `-1`, collides with the decoder's need-more-data sentinel, and causes `ByteToMessageDecoder` to accumulate inbound bytes in an unbounded `cumulation` buffer until direct memory is exhausted. This issue is fixed in versions 4.1.136.Final and 4.2.16.Final.
Title Netty codec-haproxy: Signed-Byte Sentinel Collision in HAProxyMessageDecoder Leads to Unbounded Memory Exhaustion
Weaknesses CWE-400
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-23T14:04:47.858Z

Reserved: 2026-06-17T16:44:40.995Z

Link: CVE-2026-55851

cve-icon Vulnrichment

Updated: 2026-07-23T14:04:40.545Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-21T21:22:34Z

Links: CVE-2026-55851 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T05:30:04Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling