Netty — это платформа сетевых приложений для разработки серверов протоколов и клиентов. В версиях с 4.2.0.Final по 4.2.15.Final и с 4.1.0.Final по 4.1.135.Final удаленный неаутентифицированный одноранговый узел может передавать один прямой `ByteBuf` на кадр HTTP/2 `DATA` в приложениях, которые включают декомпрессию содержимого HTTP/2 через `DelegatingDecompressorFrameListener`. Когда кадр `DATA` обрабатывается для потока, декомпрессор которого уже закрыт, `Http2Decompressor.decompress(...)` вызывает `decompressor.writeInbound(data.retain())` и не освобождает сохраненный буфер на пути ошибки, что в конечном итоге исчерпает прямую память и приведет к сбою JVM.
Эта проблема исправлена в версиях 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 through 4.2.15.Final and 4.1.0.Final through 4.1.135.Final, a remote unauthenticated peer can leak one direct `ByteBuf` per HTTP/2 `DATA` frame in applications that enable HTTP/2 content decompression via `DelegatingDecompressorFrameListener`. When a `DATA` frame is processed for a stream whose decompressor has already been closed, `Http2Decompressor.decompress(...)` calls `decompressor.writeInbound(data.retain())` and does not release the retained buffer on the error path, eventually exhausting direct memory and crashing the JVM. This issue is fixed in versions 4.1.136.Final and 4.2.16.Final.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 2
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Netty Netty
cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*
|
4.1.0
|
4.1.136
|
|
Netty Netty
cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*
|
4.2.0
|
4.2.16
|