CVE-2026-93572 in Apache Camel
Сводка
по VulDB • 18.09.2026
## Резюме
В класс `RedisArrayAggregator` недавно были добавлены ограничения `maxElements` и `maxNestedArrayDepth`, чтобы устранить уязвимости истощения ресурсов Redis, ставшие публичными. Эти ограничения действуют независимо, но аллокатор остается «жадным»: каждый заголовок вложенного массива RESP с положительной длиной создает объект `new ArrayList<RedisMessage>(length)` до того, как появятся какие-либо дочерние элементы.
При использовании конструктора по умолчанию злоумышленник может отправлять заголовки вложенных массивов с длиной `1 000 000` до тех пор, пока не будет достигнуто ограничение глубины вложения по умолчанию — `1024`. Это позволяет зарезервировать до `1 024 000 000` слотов для дочерних элементов на основе примерно 12 КБ входных данных RESP. Речь идет о резервной емкости, а не об логическом размере списка: конструктор `ArrayList(int)` создает пустой список с указанным начальным объемом памяти.
## Технические детали
Текущая функция `decodeRedisArrayHeader(...)` проверяет оба ограничения независимо друг от друга:
```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
If you want to get best quality of vulnerability data, you may have to visit VulDB.