CVE-2026-50011: Netty has unbounded pre-allocation in RedisArrayAggregator from RESP array length
Summary RedisArrayAggregator pre-allocates ArrayList with initial capacity equal to the RESP array element count declared in an array header. That count is taken from the wire before the corresponding child messages exist. A small malicious header can claim a huge initial capacity.
Details The aggregator starts a new aggregation level when it receives an ArrayHeaderRedisMessage. For positive lengths it pushes AggregateState, whose constructor runs new ArrayList<>(length). No configurable maximum is applied in this handler, and the peer does not need to supply the array elements for the backing array allocation to occur.
In the same pipeline, RedisDecoder enforces RedisConstants.REDISMESSAGEMAXLENGTH for bulk string lengths but does not apply that cap to array header lengths. Declared array sizes can therefore be extremely large while still passing decoding, and the aggregator immediately attempts Object[] reservation.
io.netty.handler.codec.redis.RedisDecoder#decodeLength io.netty.handler.codec.redis.RedisArrayAggregator#decodeRedisArrayHeader
Impact Availability / resource exhaustion via unbounded pre-allocation from untrusted RESP array headers.
Other sources
Netty is a network application framework for development of protocol servers and clients. Prior to versions 4.1.135.Final and 4.2.15.Final, RedisArrayAggregator pre-allocates ArrayList with initial capacity equal to the RESP array element count declared in an array header. That count is taken from the wire before the corresponding child messages exist. A small malicious header can claim a huge initial capacity. Versions 4.1.135.Final and 4.2.15.Final patch the issue.
— MITRE
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-50011?
CVE-2026-50011 has a high severity rating of 7.5.
How do I fix CVE-2026-50011?
To fix CVE-2026-50011, upgrade to Netty versions 4.1.135.Final or 4.2.15.Final or later.
What vulnerabilities are associated with CVE-2026-50011?
CVE-2026-50011 is associated with unbounded pre-allocation in RedisArrayAggregator, which can lead to resource exhaustion.
Who is affected by CVE-2026-50011?
Any application using vulnerable versions of Netty with RedisArrayAggregator is at risk from CVE-2026-50011.
What is the nature of the risk posed by CVE-2026-50011?
CVE-2026-50011 poses a risk of denial-of-service due to unbounded pre-allocation of resources.