Netty — это платформа сетевых приложений для разработки серверов протоколов и клиентов. В версиях от 4.2.0.Final до (но не включая) 4.2.16.Final и 4.1.0.Final до (но не включая) 4.1.135 `HAProxyMessageDecoder` в модуле `codec-haproxy` Netty выполняет определение версии протокола, считывая 13-й байт как подписанный Java `byte` и расширяя его до `int` без маскировки; двоичный префикс протокола PROXY v2, за которым следует байт версии `0xFF`, расширяется до `-1`, конфликтует с сигналом декодера, требующим больше данных, и заставляет ByteToMessageDecoder накапливать входящие байты в неограниченном буфере `кумуляции` до тех пор, пока не будет исчерпана прямая память. Эта проблема исправлена в версиях 4.1.136.Final и 4.2.16.Final.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v4.0