Netty is a network application framework for development of protocol servers and clients. In netty-codec-http2 prior to versions 4.1.135.Final and 4.2.15.Final, the DelegatingDecompressorFrameListener class orchestrates HTTP/2 decompression by embedding a per-stream EmbeddedChannel that runs the appropriate decompression codec (gzip, deflate, zstd) and forwards decompressed chunks to a wrapped listener. Each decompressed chunk is a pooled ByteBuf handed to an anonymous ChannelInboundHandlerAdapter tail handler, which becomes the sole owner responsible for releasing it. A remote peer could send frames that would result in the flow-controller throwing and so trigger a resource leak which at the end might take down the whole JVM due OOME. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
{
"binaries": [
{
"binary_name": "libnetty-buffer-java",
"binary_version": "1:4.1.48-16ubuntu0.1~esm2"
},
{
"binary_name": "libnetty-common-java",
"binary_version": "1:4.1.48-16ubuntu0.1~esm2"
},
{
"binary_name": "libnetty-java",
"binary_version": "1:4.1.48-16ubuntu0.1~esm2"
}
]
}