AIOHTTP — асинхронный клиент-серверный фреймворк HTTP для asyncio и Python. До 3.14.4 aiohttp декомпрессирует каждый член полезной нагрузки, содержащий множество конкатенированных потоков gzip, deflate или zstd, передавая весь оставшийся вход новому декомпрессору, вызывая квадратичное использование CPU. Пустые члены не производят выход, поэтому client_max_size и обратное давление на выходе не ограничивают работу.
Удаленный злоумышленник может заблокировать цикл событий сервера с помощью сжатого тела запроса или сообщения WebSocket, а вредоносный сервер может аналогичным образом заблокировать клиента. Эта проблема исправлена в версии 3.14.4.
Показать оригинальное описание (EN)
AIOHTTP is an asynchronous HTTP client/server framework for asyncio and Python. Prior to 3.14.4, aiohttp decompresses each member of a payload containing many concatenated gzip, deflate, or zstd streams by passing the entire remaining input to a new decompressor, causing quadratic CPU use. Empty members produce no output, so client_max_size and output backpressure do not limit the work. A remote attacker can block a server event loop with a crafted compressed request body or WebSocket message, and a malicious server can similarly block a client. This issue is fixed in version 3.14.4.
Характеристики атаки
Последствия
Строка CVSS v4.0