CVE-2026-49855

tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)

Published Jul 14, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.6, Tornado gzip decompression routines processed limited-size chunks but did not enforce an overall limit on accumulated decompressed chunks, allowing a malicious server accessed by SimpleAsyncHTTPClient or an HTTPServer configured with decompress_request=True to consume effectively unlimited memory. This issue is fixed in version 6.5.6.

Analysis

AI-generated

Technical impact

The Tornado Python web framework and asynchronous networking library, prior to version 6.5.6, processed gzip‑compressed data in limited‑size chunks but did not enforce an overall limit on accumulated decompressed chunks. This flaw allows a malicious server accessed via SimpleAsyncHTTPClient or an HTTPServer configured with decompress_request=True to consume effectively unlimited memory. The issue was addressed in Tornado 6.5.6.

Affected Systems

The vulnerability affects the Tornado Python web framework and asynchronous networking library. All versions prior to 6.5.6 are impacted. Any application that employs SimpleAsyncHTTPClient or an HTTPServer configured with decompress_request=True is susceptible.

Risk and Exploitability

The CVSS score of 7.5 indicates medium‑to‑high severity. The EPSS score of less than 1% indicates a low probability of exploitation at this time, and the issue is not listed in the CISA KEV catalog. An exploitable scenario requires an attacker to control or influence the server that the vulnerable client connects to, or to send a malicious gzip‑compressed request to a server that enables decompression. Once the large payload is processed, the target application can be forced to allocate excessive memory, potentially leading to a crash or an unresponsive state.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Tornado to version 6.5.6 or a later release.
  • If an immediate upgrade is not possible, disable gzip decompression by setting decompress_request=False on HTTPServer or SimpleAsyncHTTPClient, or configure the server to reject unusually large compressed requests by enforcing request‑body size limits.
  • Apply operating‑system resource limits (e.g., ulimit, cgroups) to the Tornado process to contain memory usage and mitigate the impact of a memory‑exhaustion attack.

Generated by OpenCVE AI on July 31, 2026 at 04:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-mgf9-4vpg-hj56 tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Tornadoweb
Tornadoweb tornado
Vendors & Products Tornadoweb
Tornadoweb tornado
Type Values Removed Values Added
Description Tornado is a Python web framework and asynchronous networking library. Prior to 6.5.6, Tornado gzip decompression routines processed limited-size chunks but did not enforce an overall limit on accumulated decompressed chunks, allowing a malicious server accessed by SimpleAsyncHTTPClient or an HTTPServer configured with decompress_request=True to consume effectively unlimited memory. This issue is fixed in version 6.5.6.
Title tornado AsyncHTTPClient accumulates decompressed chunks without size limit (gzip bomb)
Weaknesses CWE-409
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses
  • CWE-409

    Improper Handling of Highly Compressed Data (Data Amplification)

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 16, 2026, 2:56 PM
Reserved
Jun 1, 2026, 10:03 PM
Status
Deferred
Published
Jul 14, 2026, 9:17 PM
Modified
Oct 24, 2026, 9:10 PM