high7.5
CVE-2026-84382
HTTPX2: Streaming response decompression does not bound peak memory (decompression amplification)
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | httpx2 | < 2.12.0 | 2.12.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-8xx6-hgc6-gc2m
- https://github.com/pydantic/httpx2/security/advisories/GHSA-8xx6-hgc6-gc2m
- https://nvd.nist.gov/vuln/detail/CVE-2026-84382
- https://github.com/pydantic/httpx2/pull/1126
- https://github.com/pydantic/httpx2/commit/4fd0c70a3f207c618b145934792f791bccfb39f8
- https://github.com/pydantic/httpx2/releases/tag/v2.12.0