The vulnerability is a memory leak in io.netty.handler.codec.redis.RedisArrayAggregator due to missing resource cleanup logic. The handler's decode method buffers incoming parts of a Redis array message. The vulnerability was caused by the absence of the handlerRemoved and channelInactive lifecycle methods in the class. When a client connection is terminated prematurely before a complete array is sent, the buffered ByteBuf messages were not released, as there was no code to handle this event. This leads to a gradual leak of pooled direct memory. An attacker can exploit this by repeatedly opening connections, sending partial messages, and disconnecting, eventually exhausting the server's memory and causing a denial of service. The fix involves adding the handlerRemoved and channelInactive methods to ensure that any buffered messages are released when the channel is closed or the handler is removed from the pipeline. The decode function is identified as the vulnerable function because it is responsible for creating and managing the state (the buffered messages) that is leaked.