Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-5w86-c3rq-vjj7

Опубликовано: 15 июн. 2026
Источник: github
Github: Прошло ревью
CVSS3: 7.5

Описание

Netty: 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.REDIS_MESSAGE_MAX_LENGTH 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.

Пакеты

Наименование

io.netty:netty-codec-redis

maven
Затронутые версииВерсия исправления

>= 4.2.0.Final, <= 4.2.14.Final

4.2.15.Final

Наименование

io.netty:netty-codec-redis

maven
Затронутые версииВерсия исправления

<= 4.1.134.Final

4.1.135.Final

EPSS

Процентиль: 31%
0.00389
Низкий

7.5 High

CVSS3

Дефекты

CWE-400
CWE-770

Связанные уязвимости

CVSS3: 7.5
ubuntu
около 2 месяцев назад

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.

CVSS3: 7.5
redhat
около 2 месяцев назад

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.

CVSS3: 7.5
nvd
около 2 месяцев назад

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.

CVSS3: 7.5
debian
около 2 месяцев назад

Netty is a network application framework for development of protocol s ...

CVSS3: 7.5
fstec
2 месяца назад

Уязвимость компонента RedisArrayAggregator фреймворка для разработки сетевых приложений, серверов и клиентов протоколов Netty, позволяющая нарушителю оказать воздействие на доступность защищаемой информации

EPSS

Процентиль: 31%
0.00389
Низкий

7.5 High

CVSS3

Дефекты

CWE-400
CWE-770