Netty — это асинхронная платформа сетевых приложений, управляемая событиями. До версий 4.1.136.Final и 4.2.16.Final HttpContentEncoder (суперкласс производственного обработчика HttpContentCompressor) поддерживал для каждого канала ArrayDeque<CharSequence> с именем AcceptEncodingQueue, который накапливает контролируемые злоумышленником данные без каких-либо ограничений по размеру. Очередь заполняется в потоке ввода-вывода для каждого входящего HTTP-запроса и очищается только тогда, когда приложение позже записывает ответ, отличный от 1xx.
Это создает уязвимость, связанную с исчерпанием ресурсов, когда злоумышленник использует конвейерную обработку HTTP/1.1 для переполнения соединения запросами быстрее, чем приложение выдает ответы. Эта проблема исправлена в версиях 4.1.136.Final и 4.2.16.Final.
Показать оригинальное описание (EN)
Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.136.Final and 4.2.16.Final, `HttpContentEncoder` (the superclass of the production handler `HttpContentCompressor`) maintains a per-channel `ArrayDeque<CharSequence>` named `acceptEncodingQueue` that accumulates attacker-controlled data without any size limit. The queue is filled on the I/O thread for every inbound HTTP request and drained only when the application later writes a non-1xx response. This creates a resource exhaustion vulnerability when an attacker exploits HTTP/1.1 pipelining to flood the connection with requests faster than the application produces responses. This issue has been fixed in versions 4.1.136.Final and 4.2.16.Final.
Характеристики атаки
Последствия
Строка CVSS v4.0