Skip to main content
← All vulnerabilities
CVE-2026-44893GHSA-CC37-9Q2J-3HFV

Netty: HAProxy SSL TLV parsing leaks retained slice on invalid TLV length

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.2.15.Final, 4.1.135.Final
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Netty is a network application framework for development of protocol servers and clients. In netty-codec-haproxy prior to versions 4.1.135.Final and 4.2.15.Final, when decoding a PP2_TYPE_SSL TLV, HAProxyMessage.readNextTLV() first calls `header.retainedSlice(header.readerIndex(), length)` and only then reads the 1-byte client field and 4-byte verify field. If the attacker sets the TLV length below 5, the subsequent readByte/readInt throws IndexOutOfBoundsException. HAProxyMessageDecoder only catches HAProxyProtocolException around this call, so the IOOBE propagates and the retained slice on the pooled cumulation buffer is never released. Versions 4.1.135.Final and 4.2.15.Final patch the issue.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • netty netty

    From 4.2.0.Final · fixed in 4.2.15.Final; fixed in 4.1.135.Final

  • io.netty:netty-codec-haproxyMaven

    From 4.2.0.Final · fixed in 4.2.15.Final

  • io.netty:netty-codec-haproxyMaven

    fixed in 4.1.135.Final

References 3

GitHub · netty/netty