PYSEC-2026-3389
tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-49855
- Alias
- GHSA-mgf9-4vpg-hj56
- CVSS_V3
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Description
Tornado's gzip decompression routines work in limited-size chunks, but have no overall limit for the total size of decompressed chunks that they will accumulate (There has always been a limit for the total *compressed* size). This allows a malicious server to consume effectively unlimited amounts of memory if it is accessed via SimpleAsyncHTTPClient in its default configuration. `HTTPServer` is not affected in its default configuration, but it is if `decompress_request=True` is set. This bug is fixed in Tornado 6.5.6. `max_body_size` is now checked both for the compressed and cumulative decompressed size of the response. Prior to upgrading, this issue can be mitigated by setting `decompress_response=False` or using `CurlAsyncHTTPClient`.
Paquets affectés
| Paquet | Versions |
|---|---|
| PyPI · tornado | introduced 0, fixed 6.5.6 |
Références
- https://github.com/tornadoweb/tornado/security/advisories/GHSA-mgf9-4vpg-hj56 WEB
- https://github.com/tornadoweb/tornado PACKAGE
- https://pypi.org/project/tornado PACKAGE
- https://github.com/advisories/GHSA-mgf9-4vpg-hj56 ADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-49855 ADVISORY
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — PyPA Advisory Database |