CVE-2026-93572: Netty: netty-codec-redis: io.netty/netty-codec-redis: netty: redisarrayaggregator nested resp headers multiply patched preallocation limits

Published Sep 18, 2026
·
Updated

Summary RedisArrayAggregator recently added maxElements and maxNestedArrayDepth limits to fix public Redis resource-exhaustion advisories. The limits are independent, but the allocator remains eager: every positive nested RESP array header creates new ArrayList<RedisMessage>(length) before any child element exists. With the default constructor, an attacker can send nested array headers with length 1,000,000 until the default nesting limit of 1024 is reached. This can reserve up to 1,024,000,000 child slots from roughly 12 KB of RESP input. This is backing capacity, not logical list size: ArrayList(int) constructs an empty list with the specified initial capacity. Technical Details Current decodeRedisArrayHeader(...) checks the two limits independently: java if (header.length() > maxElements) { throw new CodecException("this codec doesn't support longer length than " + maxElements); } if (depths.size() >= maxNestedArrayDepth) { releaseAndClearDepths(); throw new CodecException("max nested array depth exceeded: " + maxNestedArrayDepth); } depths.push(new AggregateState((int) header.length())); AggregateState i

Affected Software

2 affected components
Netty netty-codec-redis>=undefined, =7bae566a93e69409697fe57fa807910ba5c9720e
Netty netty-codec-redis>=undefined

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade netty-codec-redis (io.netty:netty-codec-redis) to a version that resolves this vulnerability.

    Fixed in 4.2.15.FinalPatch GHSA-5w86-c3rq-vjj7
  2. Upgrade

    Upgrade netty-codec-redis (io.netty:netty-codec-redis) to a version that resolves this vulnerability.

    Fixed in 4.1.135.FinalPatch GHSA-5w86-c3rq-vjj7
  3. Upgrade

    Upgrade netty-codec-redis (io.netty:netty-codec-redis) to a version that resolves this vulnerability.

    Fixed in 4.2.15.FinalPatch GHSA-3244-j874-rhc2
  4. Upgrade

    Upgrade netty-codec-redis (io.netty:netty-codec-redis) to a version that resolves this vulnerability.

    Fixed in 4.1.135.FinalPatch GHSA-3244-j874-rhc2

Event History

Sep 18, 2026
Data Sourced
via Red Hat·10:29 AM
DescriptionSeverityAffected Software
CVE Published
via MITRE·10:53 AM
Data Sourced
via MITRE·10:53 AM
DescriptionWeakness

Frequently Asked Questions

1

Is the default configuration affected?

Yes. With the default constructor, nested RESP array headers can be accepted up to the default nesting limit of 1,024, and each positive-length header can eagerly allocate backing capacity.

2

What does an attacker need to send to trigger excessive allocation?

An attacker can send nested RESP array headers with a declared length of 1,000,000. The headers do not need child elements to cause allocation, because each positive nested header creates an ArrayList with the declared initial capacity.

3

How large can the allocation be relative to the request size?

Up to 1,024 nested headers with a length of 1,000,000 can reserve up to 1,024,000,000 child slots. The described input needed to reach this condition is roughly 12 KB of RESP data.

4

Do the existing element-count and nesting-depth limits prevent this behavior?

No. The limits are checked independently, so an array length that is within maxElements can still be used at every permitted nesting level, causing repeated eager preallocation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203