HTTPX2 — это HTTP-клиент нового поколения для Python. До версии 2.12.0 декодеры контента HTTPX2 в src/httpx2/httpx2/_decoders.py полностью раздувают каждый фрагмент сети gzip, deflate, br или zstd, прежде чем iter_bytes() или aiter_bytes() передадут приложению ограниченные фрагменты. Сжатый фрагмент размером 64 КиБ может расшириться примерно до 64 МБ за одно промежуточное распределение, поэтому контролируемый злоумышленником или скомпрометированный сервер может вызвать серьезную нехватку памяти или завершение процесса из-за нехватки памяти, даже когда приложение передает ответ в потоковом режиме.
Эта проблема исправлена в версии 2.12.0.
Показать оригинальное описание (EN)
HTTPX2 is a next generation HTTP client for Python. Prior to 2.12.0, the HTTPX2 content decoders in src/httpx2/httpx2/_decoders.py fully inflate each gzip, deflate, br, or zstd network chunk before iter_bytes() or aiter_bytes() yields bounded pieces to the application. A 64 KiB compressed chunk can expand to approximately 64 MiB in one intermediate allocation, so an attacker-controlled or compromised server can cause severe memory pressure or out-of-memory process termination even when the application streams the response. This issue is fixed in version 2.12.0.
Характеристики атаки
Последствия
Строка CVSS v3.1