Launch Week Day 1: Announcing Security Design Review
HIGH 7.5 Maven

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

GHSA-cc37-9q2j-3hfv · CVE-2026-44893

Published · Modified

Description

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.

Ready to move

Start Securing

Free, no credit card | First findings in minutes